Das in #10 gezeigte Programm macht, wenn ich AltGr+. drücke, folgendes:
A) Wenn das Programm "Music.exe" läuft: Sendet eine Message an "Music.exe", die dort verarbeitet wird und das Abspielen von MP3s startet oder stoppt.
B) sonst: Öffnet Music.exe.
Die Code-Sequenz in den ersten 3 Zeilen nach "begin" soll bewirken, dass das Programm nicht angezeigt wird (hab ich im INet gefunden).
Leider funktioniert das nicht.
Frage:
Wie kann ich verhindern, dass das Programm angezeigt wird, auch nicht kurz "aufblitzt"?
Delphi-Quellcode:
program ToggleMusic;
{$APPTYPE CONSOLE}
{$R *.res}
uses
WinApi.Windows,
WinApi.ShellApi,
System.SysUtils;
const MusicPath='
E:\Daten\Delphi XE2\Music\Win32\Debug\Music.exe';
var Win:HWND; StartUpInfo:TStartUpInfo; Dsn:
String;
begin
StartupInfo.cb:=SizeOf(StartUpInfo);
StartupInfo.dwFlags:=STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow:=SW_HIDE;
Win:=FindWindow(
Nil,'
Music Player');
if Win<>0
then begin
PostMessage(Win,$7FFF,0,0);
end else begin
Dsn:=MusicPath;
if FileExists(Dsn)
then
ShellExecute(0,'
open',PWideChar(Dsn),
nil,
nil,SW_SHOWNORMAL);
end;
end.