Winexec の使い方

解決


AS  2023-06-15 19:07:13  No: 150964

すみません、c:\ 専用で作っていたプログラムをF:\でも使えるようにするためにDRVという変数を使うことにしました。
Winexec( DRV+':\AAAAA\BBB.exe', SW_SHOW);
としたら、エラーが出るので下のようにしたら、エラーは出なくなりましたが、
BBB.exeを立ち上がらせることができなくなりました。
手動で立ち上がらせるとさせたい仕事をするのですが。
どうしたらいいのでしょうか。
よろしくお願いします。

procedure TForm1.FormCreate(Sender: TObject);
begin
  DrtPath :=ExtractFilePath(Application.ExeName);
  Drv :=copy(DrtPath,1,1);
end;

procedure TForm1.button1Click(Sender: TObject);
begin
  Winexec( PAnsiChar(DRV+':\AAAAA\BBB.exe'), SW_SHOW);
end;


igy  2023-06-15 21:37:30  No: 150965

> BBB.exeを立ち上がらせることができなくなりました。 

このとき、winexec の 戻り値は、何が返ってきていますか?


AAAAA  2023-06-15 22:06:38  No: 150966

procedure TForm2.XXXX(P: PAnsiChar);
begin
    Memo1.Lines.Add(StrPas(P));
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
    DRV1 := 'A';   //String
    DRV2 := 'B';   //AnsiString

    TEXT1 := 'CCCCC'; //String
    TEXT2 := 'DDDDD'; //AnsiString

    XXXX (PAnsiChar(DRV1 + 'XXXXX'));  //String     + 'AAAAA'     A
    XXXX (PAnsiChar(DRV2 + 'YYYYY'));  //AnsiString + 'BBBBB'     BYYYYY

    XXXX (PAnsiChar(DRV1 + TEXT1));    //String     + String      A
    XXXX (PAnsiChar(DRV2 + TEXT1));    //AnsiString + String      B

    XXXX (PAnsiChar(DRV1 + TEXT2));    //String     + AnsiString  A
    XXXX (PAnsiChar(DRV2 + TEXT2));    //AnsiString + AnsiString  BDDDDD

    XXXX (PAnsiChar(TEXT1));           //String                   C
    XXXX (PAnsiChar(TEXT2));           //AnsiString               DDDDDD

    XXXX (PAnsiChar('ZZZZZ'))  ;       //'ZZZZZ'                  ZZZZZZ

end;

PWideChar で Stirng型(UnicodeString) を囲んじゃダメだね 
PWideChar(AnsiString(DRV) + 'AAAAAAA' 
にするか 
DRV を AnsiString 型にするか
どちらか


AS  2023-06-15 22:10:19  No: 150967

igyさん、ありがとうございます。

下のでいいのでしょうか?
A=2
です。

   A:=Winexec(PANsiChar(DRV+':\AstaI\AstaI.exe'), SW_SHOW);
   showmessage(IntToStr(A));


AS  2023-06-15 22:20:15  No: 150968

AAAAAさん、ありがとうございました。

DRV:Ansistring;

としたら、完全にうまく働きました。

正直、AnsiChar、Charとか使ったことがないので、何が何だか分かりませんので、
助かりました。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加