Buenas compañeros, subo este post ya que estoy programando una aplicación, y si bien he usado el código de román para evitar que se abran varias veces la aplicación, lo que no he conseguido hacer es enviar un mensaje junto al mutex que contenga el "paramstr" de la aplicación que se cierra a la aplicación que está funcionando.
Estoy usando Delphi 2010.
Con este código envía
Código Delphi
[-]
var st1,txt:string;
begin
if ParamCount>0 then
begin
txt:=ParamStr(0)
end;
txt:='Esta línea funciona y se recibe, el paramstr no';
SendMessage(HWND_BROADCAST, mActivar, 0, LongWord(pchar(st1)));
end;
No se porque al escribir en la variable "txt" el texto se manda correctamente, y al intentar mandar el "paramstr" no llega nada. He pensado que era del unicode, pero he escrito cadenas en japonés y funciona
El procedimiento que me lee los datos es tal que así:
Código Delphi
[-]
function AppWndProc(Handle: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LongInt; stdcall;
var
FgThreadId : DWORD;
AppThreadId : DWORD;
txtchar;
st,st2:string;
fichero_uso,listo:boolean;
b:integer;
begin
if Msg = mActivar then
begin
txt := Pchar(LParam);
st:=txt;
if fileexists(st) then....
end;
end;
Como digo, llega la cadena escrita a mano, pero nada del paramstr, sabeis alguna manera?? Gracias.