Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Delphi help

Zdravím.
S delphi znám jen základy co do mně hustili ve škole ale to co potřebují je nad rámec mých znalostí.
Půjde to?
Mam spuštěný exe soubor.
Spustím winhex - memory - a najdu si ho a načtu.
Vidím tam všechny řetězce co jsou v programu.
Půjde v delphi najít ten můj exe v pamětí a nahradí nějaký řetězec?

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Hm, jde vidět že jsem už dlouho nepoužíval. Co je špatně? uses ShellApi var WndHandle : HWND; begin…
Marek.12 04.10.2017 16:14
Marek.12
V tom parametru neni jmeno EXE souboru, ale trida okna. Tu si musis zjistit nejakym inspectorem. Zku…
Jan Fiala 04.10.2017 16:34
Jan Fiala
To jsem také zkoušel a nenalezeno. WndHandle := FindWindow(Nil,'notepad');
Marek.12 04.10.2017 16:54
Marek.12
WndHandle := FindWindow('notepad', nil); //prehoď si parametre a bude Ti to fungovať... http://www.…
pme 04.10.2017 20:03
pme
Dotaz. Ono to funguje tak jak jste poradil ale jen u toho notepadu. Když to zkouším na jakykolív jin…
Marek.12 05.10.2017 14:37
Marek.12
Co to je jakykoli jiny programek a co konkretne nefunguje? Finkcia vrati co presne? Testujes vobec n…
MM.. 05.10.2017 15:03
MM..
Koukam že me znalostí jsou dost mizerne. Se snažím o to co poradil pan Fiala. Je exe program. najít…
Marek.12 05.10.2017 16:34
Marek.12
https://www.unknowncheats.me/forum/programming-for-beginners/52562-simple-write-process-memory-funct… poslední
MM.. 05.10.2017 22:47
MM..

Hm, jde vidět že jsem už dlouho nepoužíval.
Co je špatně?

uses ShellApi

var
WndHandle : HWND;
begin
WndHandle := FindWindow(Nil,'notepad.exe');
  if WndHandle = 0 then
    begin
     ShowMessage('Nenalezeno');
     Exit;
  end;

notepad mam spuštěný a vidím ho v pamětí a Nenalezeno

Co to je jakykoli jiny programek a co konkretne nefunguje? Finkcia vrati co presne? Testujes vobec navratovu hodnotu na NULL? Ten string mas vo formate TSTR? Je to unicode aplikacia? Preco znasilnujes delphi co tam ani svaty nevie co to je CTSTR a nerobis to normalne v C++?
https://msdn.microsoft.com/en-us/library/windows/desktop/ms633499(v=vs.85).aspx
P.S. ten prvy parameter je class name a ne meno okna. Pouzi napr. spy++ apod aby si videl co to je okno a class okna. Class okna normalne nevidis, takze netusiom co do tej funkcie strkas, ale evidentne tam strkas blby string.

Koukam že me znalostí jsou dost mizerne.
Se snažím o to co poradil pan Fiala.

Je exe program.
najít proces, treba pomoci FindWindow apod. a získat Handle.

A pak změnít nějaký řetězec.
Je tam třeba řetězce 38-Roof Electronics
https://postimg.org/image/2i0xmrvn6j/
Což by mělo jít pomocí WriteBytes
writeprocessmemory(Handle, Pointer($523328), [$CC, $90, $03]);

A proč to nerobím v C++.
Bo jsem lama a nedavám to v delphi :-D, ktere je jednodušší.

Zpět do poradny Odpovědět na původní otázku Nahoru