Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
Delphi 12 Athens
|
AW: Programm für schließung eines Programes in der Taskleiste rechts neben der Uhr
28. Jan 2011, 08:32
Letzter Versuch (nicht großartig getestet):
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
NameDesProgramms = 'TripoX Keybinder 0.1a.exe';
var
StartupInfo: TStartupInfoA;
ProcessInfo: TProcessInformation;
begin
ZeroMemory(@StartupInfo, SizeOf(StartupInfo));
StartupInfo.cb := SizeOf(StartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := SW_SHOW;
if CreateProcessA(nil, PAnsiChar(NameDesProgramms), nil, nil, false,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo,
ProcessInfo) then
try
PID := ProcessInfo.dwProcessId; //PID ist eine private DWORD-Variable
finally
CloseHandle(ProcessInfo.hProcess);
CloseHandle(ProcessInfo.hThread);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
function EnumWindowsProc(Wnd: HWnd; aPID: DWORD): BOOL; stdcall;
var
hProcess: DWORD;
begin
GetWindowThreadProcessID(Wnd, hProcess);
if hProcess = aPID then
PostMessage(Wnd, WM_SYSCOMMAND, SC_CLOSE, 0);
Result := true;
end;
begin
if PID <> 0 then
EnumWindows(@EnumWindowsProc, PID);
end;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|
|
Zitat
|