Hi,
ich habe ein autostart-menü für 2 cds programmiert, das folgende funktion enthalten soll:
1. wenn ich die erste cd im laufwerk habe, wird das autostart-menü für cd1 angezeigt. falls die zweite cd eingelegt wird soll das autostart-menü nicht doppelt starten. hier der code (vielleicht muss man den ja nur modifizieren...?)
Delphi-Quellcode:
function BereitsAktiv: Boolean;
var appClass: PChar; hSem: THandle; hWndMe: HWnd;
begin
Result := FALSE;
GetMem(appClass, 15);
StrPCopy(appClass, Application.ClassName);
hSem := CreateSemaphore(nil, 0, 1, 'ARV'+B);
if (hSem <> 0) and (GetLastError = ERROR_ALREADY_EXISTS) then
begin
CloseHandle(hSem);
hWndMe := FindWindow(appClass, A);
if (hWndMe <> 0) then begin
if IsIconic(hWndMe) then ShowWindow(hWndMe, SW_RESTORE)
else begin
BringWindowToTop(hWndMe);
SetForegroundWindow(hWndMe);
end;
end;
Result := TRUE;
end;
FreeMem(appClass, 15);
end;
soweit, so gut... aber
2. falls das passiert soll das autostart-menü der 2. cd dem programm von cd1 den laufwerksbuchstaben der 2. cd schicken und dass das erste programm weiss, dass es die ordner mit dem neuen laufwerksbuchstaben einlesen soll. und umgekehrt, also von cd2 auf cd1.
HINWEIS: DIE FRAGE BEZIEHT SICH NICHT AUF DEN 1. PUNKT, ER DIENT NUR ZUM VERSTÄNDNIS.
also, wie kann ich das machen?
PLEASE HELP