AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Problem mit Dateiaufruf per paramstr
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Dateiaufruf per paramstr

Ein Thema von wb32 · begonnen am 7. Aug 2003 · letzter Beitrag vom 23. Sep 2003
 
wb32

Registriert seit: 4. Jul 2003
143 Beiträge
 
#11

Re: Problem mit Dateiaufruf per paramstr

  Alt 7. Aug 2003, 21:43
tut mir leid das is mir zu hoch kann sich mal jemand meinen source ansehen bitte... es funktioniert einwandfrei ausser das beim zuerst gestarteten programm der falsche paramstr ankommt...


Code:

procedure TForm1.WndProc(var msg : TMessage);
begin
  if msg.Msg = dwMessage then begin
    if msg.lParam <> 0 then begin
      m1.Lines.Add(PChar(msg.lParam));
    end else begin
      if msg.WParam > -1 then begin
        m1.Lines.Add(IntToStr(msg.wParam));
      end else begin
         m1.Lines.Add('Keine Daten...');
      end;
    end;
  end else begin
    inherited WndProc(msg);
  end;
end;

function FindSyncDemo(const p_hWindow : DWORD;const p_szCaption : PChar) : Boolean; stdcall;
var
  dwLen : DWORD;
  szWork : PChar;
begin
  Result := true;
  dwLen := SendMessage(p_hWindow,WM_GETTEXTLENGTH,0,0) + 1;
  if Length(p_szCaption) <> (dwLen-1) then exit;
  szWork := AllocMem(dwLen);

 try
   SendMessage(p_hWindow,WM_GETTEXT,dwLen,lParam(szWork));
    if StrLComp(szWork,p_szCaption,dwLen) = 0 then begin
     Form1.m1.Lines.Add('Sende '+Pfad);
     SendMessage(p_hWindow, dwMessage,0, lParam(Pfad));
    end;
 finally
    FreeMem(szWork,dwLen);
  end;
end;

procedure TForm1.FormShow(Sender: TObject);
var
FName: String;
begin
FName:='myprogramm';

if ParamCount > 0 then begin
 Pfad:= paramstr(1);
 Form1.Caption:= FName;

 mHandle  := CreateMutex(nil,True, 'FKILLER-36545tf456-34tf34tf23-23r3');

 if GetLastError=ERROR_ALREADY_EXISTS then begin
  Form1.Caption:= 'xxxxxxxxxxxxxxxxxxxx';

  // jetzt paramstr(1) an exe1 senden
  dwMessage := RegisterWindowMessage(3654-5tf-456-34tf3-4tf23);
  EnumWindows(@FindSyncDemo,integer(FName));

 end;
end;
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz