PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
1068 | 98/03/27 16:12:21 | RE(6):Run関数の代わりにWinExecで対処 By ryuji |
1067 | 98/03/27 16:11:14 | RE(5):WinExec() いただきました (^^) By nari |
1062 | 98/03/27 10:35:03 | RE(4):Run関数によるプログラム起動でWindowを隠せないでしょうか。 By nari |
1055 | 98/03/26 20:20:30 | RE(3):Run関数の代わりにWinExecで対処 By Taka |
1053 | 98/03/26 19:47:09 | RE(2):Win32APIでWindowを隠す By M.M |
1052 | 98/03/26 18:50:43 | RE(1):Run関数によるプログラム起動でWindowを隠せないでしょうか。 By nari |
1048 | 98/03/26 15:21:24 | Run関数によるプログラム起動でWindowを隠せないでしょうか。 By ryuji |
カテゴリ:旧電子会議室
日付:1998年03月26日 19:47 発信者:M.M
題名:RE(2):Win32APIでWindowを隠す
「ryuji」さん、こんばんは。
>Run関数によりBATファイルを起動する際にDOS窓を見せない方法を考えています。
>PowerBuilderの持っている関数ではできそうにありません。
>WinAPIを使用すればできるのでしょうか。
以前にアップロードした、『SetForegroundWindow』のサンプルを少し変更して、
任意のウィンドウを最小化するサンプルを書いてみました。
『CloseWindow』というAPIを使って、ウィンドウを最小化しています。
バッチ実行時に一度画面に出ますが、このPGで最小化して下さい。
????????????????????????????????????????
[グローバル or ローカル外部関数に定義]
Function Unsignedlong FindWindowA
REF String lpszClassName,REF String lpszWindow) Library \"USER32.dll\"
Function boolean CloseWindow(Unsignedlong hwnd) Library \"USER32.DLL\"
????????????????????????????????????????
[Powerスクリプトの記述]
//指定したタイトルのウィンドウを最小化する(アイコン表示)
string className,windowTitle
unsignedlong ll_hwnd
//クラス名とウィンドウタイトル名を取得
className = \"最小化するウィンドウのクラス\"
windowTitle = \"最小化するウィンドウのタイトル\"
//WindowsAPIをコールして、指定したタイトルのウィンドウを最小化する
ll_hwnd = FindWindowA(className,windowTitle)
if ll_hwnd=0 then MessageBox(\"エラー\",\"指定したタイトルのウィンドウが見つかりません\")
//指定したハンドルのウィンドウを、最小化する
if CloseWindow(ll_hwnd) then
MessageBox(\"\",\"OK\")
else
MessageBox(\"\",\"NG\")
end if
????????????????????????????????????????
ちなみに、私のマシンでは(OS:WindowsNT,Cドライブにインストール)
コマンドプロンプトのウィンドウクラス :ConsoleWindowClass
コマンドプロンプトのウィンドウタイトル:C:\\WINNT\\System32\\CMD.exe
です。
それでは、がんばって下さい。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS (記載なし)
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.