PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
1054 | 98/03/26 20:11:06 | RE(7):PB5.0.02: ウィンドウをアクティブにしたいんですが・・・ By M.M |
855 | 98/03/13 14:45:52 | RE(6):M.Mさんありがとうございます By HIDENORI |
854 | 98/03/13 14:41:42 | RE(5):あすかちゃんの父さんすいません・・・ By HIDENORI |
852 | 98/03/26 19:55:17 | RE(4):PB5.0.02: ウィンドウをアクティブにしたいんですが・・・ By M.M |
851 | 98/03/13 14:17:31 | RE(3):PB5.0.02: ウィンドウをアクティブにしたいんですが・・・ By あすかちゃんの父 |
845 | 98/03/13 13:49:04 | RE(2):PB5.0.02: ウィンドウをアクティブにしたいんですが・・・ By HIDENORI |
843 | 98/03/13 12:58:22 | RE(1):PB5.0.02: ウィンドウをアクティブにしたいんですが・・・ By あすかちゃんの父 |
842 | 98/03/13 11:44:16 | PB5.0.02: ウィンドウをアクティブにしたいんですが・・・ By HIDENORI |
カテゴリ:旧電子会議室
日付:1998年03月26日 19:55 発信者:M.M
題名:RE(4):PB5.0.02: ウィンドウをアクティブにしたいんですが・・・
「HIDENORI」さん、こんにちは。
>>PBのアプリを「接続した時の小さい画面」の前に持ってくるのは、WinAPIを
>>コールしないといけないのではないでしょうか?(よく知らないのですが・・・・)
>APIの資料がないのでどれだかわからないですが調べてみます。
Win32APIの『SetForegroundWindow』を使用します。
このAPIで、任意のアプリケーションを、画面の最前列にもってくることができます。
PowerBuilderでの使用方法は、以下の通りです。
????????????????????????????????????????
[グローバル or ローカル外部関数に定義]
Function UnsignedLong FindWindowA
(REF String lpszClassName,REF String lpszWindow) LIBRARY \"User32.dll\"
Function boolean SetForegroundWindow(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 SetForegroundWindow(ll_hwnd) then
MessageBox(\"\",\"OK\")
else
MessageBox(\"\",\"NG\")
end if
????????????????????????????????????????
クラス名と正確なウィンドウタイトル名は、spyなどのプログラムで調べられます。
spyはWindows SDKに添付されています。(Visual C++にも付いてるかな?)
ちなみに、
エクスプローラのクラス名 :ExploreWClass
PowerBuilderのSDIウィンドウのクラス名:FNWND350
です。
それでは、がんばって下さい。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows95
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.