新しく発言する EXIT インデックスへ
2重起動を防止

  2重起動を防止 白川 2004/11/22 23:24:34 
  WinAPIを使えば2つのプログラムの名前が異...2004/11/23 09:12:20 
   └哲様、ありがとうございます。 白川 2004/11/23 13:39:33 

  2重起動を防止 白川 2004/11/22 23:24:34  ツリーへ

2重起動を防止 返事を書く
白川 2004/11/22 23:24:34
久しぶりに質問します

execute文などで起動したbasプログラムを終了処理せずにもう1度execute文などで起動する時に2重起動せずにその起動中のプログラムをアクティブにすることは可能でしょうか?
それを使って2つのプログラムでBASICのグラフィックウインドウがあたかも2つあるかのように表示したいのですが・・・

  WinAPIを使えば2つのプログラムの名前が異...2004/11/23 09:12:20  ツリーへ

Re: 2重起動を防止 返事を書く
2004/11/23 09:12:20
WinAPIを使えば2つのプログラムの名前が異なっていれば可能です。

DECLARE EXTERNAL FUNCTION FndWnd
DECLARE EXTERNAL FUNCTION ShowWnd

LET hWnd=FndWnd("TPaintForm","C:\BASICw32\*****.BMP")
PRINT hWnd
IF hWnd>0 THEN
LET n=ShowWnd(hWnd, 5)
END IF
END

EXTERNAL FUNCTION FndWnd(lpClassName$,lpWindowName$)
ASSIGN "user32.dll","FindWindowA"
END FUNCTION

EXTERNAL FUNCTION ShowWnd(hWnd, nCmdShow)
ASSIGN "user32.dll","ShowWindow"
END FUNCTION

ShowWnd(hWnd, 5) の5はアクティブにするコードです。
"C:\BASICw32\*****.BMP"の部分をアクティブにしたいグラフィックウインドウのタイトルにしてください。

   └哲様、ありがとうございます。 白川 2004/11/23 13:39:33  ツリーへ

Re: WinAPIを使えば2つのプログラムの名前が異... 返事を書く
白川 2004/11/23 13:39:33
哲様、ありがとうございます。
大変参考になりました。


インデックスへ EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。