//------------------------------------------------------------------ //- - //- Interprocess Communication - //- (Receive in der Form) - //------------------------------------------------------------------ procedure SendString(receiverHandle: THandle; stringToSend: string); var
CopyDataStruct: TCopyDataStruct;
res: integer;
PC: PChar; begin
setl(ParamMessage, stringToSend);
PC := @ParamMessage;
CopyDataStruct.dwData := 0; //use it to identify the message contents
CopyDataStruct.cbData := sizeof(ParamMessage);
CopyDataStruct.lpData := PC; if receiverHandle <> 0 thenbegin
res := SendMessage(receiverHandle, WM_COPYDATA, integer(Application.Handle), integer(@CopyDataStruct)); if res <> 0 then
errorn(0,'ipc :-('); end; end;
//-------------------------------------- //Other Window Open? - //-------------------------------------- procedure PreventSameProgramActive(); var
fn: String; begin
OtherForm := FindWindow(PChar('TMainboard'), nil);
Mutex := CreateMutex(nil, False, PChar('Bille')); if OtherForm <> 0 thenbegin
fn := getCommandLineParameters();
SendString(OtherForm, fn);
ExitProcess(0); end elseif (Mutex = 0) thenbegin
ExitProcess(0) end elseif (GetLastError = ERROR_ALREADY_EXISTS) thenbegin
ExitProcess(0); end; end;
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.35Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.