作品プログラム
- 動作環境
- プロデル1.7.1023以降
- 投稿者
- ゆうと
- 更新日
- 2020-09-22 17:46:53
- ダウンロード数
- 373
作品のプログラム
「notepad」を開いてメモ帳プロセスとする
メモ帳プロセスからウィンドウハンドルを取得する
その位置を報告する
その内容を報告する
それを最前面化する
/*
「無題 - メモ帳」というウィンドウハンドルを取得する
その位置を報告する
その位置は、{100,100}
その大きさを報告する
その大きさは、{640,480}
それをアクティブ化する
*/
/*
「無題 - メモ帳」というウィンドウハンドルを取得する
それを点滅させる
*/
/*
アクティブウィンドウハンドルを取得する
その位置を報告する
その大きさを報告する
*/
/*
{10,10}からウィンドウハンドルを取得する
その位置を報告する
*/
終了する
【アプリ:プロセス】からウィンドウハンドルを、取得する手順
H=アプリのメインウィンドウハンドル
10回繰り返す
もしHが0でないなら繰り返しから抜け出す
0.1秒待つ
H=アプリのメインウィンドウハンドル
繰り返し終わり
もしHが0なら、「[タイトル]というウィンドウは見つかりません。」というエラーを発生させる
ウィンドウハンドル情報(H)を作る
それを返す
終わり
【タイトル】というウィンドウハンドルを、取得する手順
ウィンドウ制御のFindWindowを{無, タイトル}で呼び出してHとする
もしHが0なら、「[タイトル]というウィンドウは見つかりません。」というエラーを発生させる
ウィンドウハンドル情報(H)を作る
それを返す
終わり
【座標】から、ウィンドウハンドルを、取得する手順
PTというPOINTを作る
PTのx=座標(1)
PTのy=座標(2)
ウィンドウ制御のWindowFromPointを{座標(1),座標(2)}で呼び出してHとする
もしHが0なら、「ウィンドウは見つかりません。」というエラーを発生させる
ウィンドウハンドル情報(H)を作る
それを返す
終わり
アクティブウィンドウハンドルを、取得する手順
ウィンドウ制御のGetForegroundWindowを{}で呼び出してHとする
もしHが0なら、「アクティブウィンドウは見つかりません。」というエラーを発生させる
ウィンドウハンドル情報(H)を作る
それを返す
終わり
ウィンドウ制御とは
単一種類
+FindWindow
+GetForegroundWindow
+SetForegroundWindow
+GetWindowRect
+GetWindowText
+SetWindowText
+WindowFromPoint
+FlashWindowEx
+HWND_TOPMOST=-1
+HWND_NOTOPMOST=-2
+SWP_NOSIZE=0x0001
+SWP_NOMOVE=0x0002
+FLASHW_ALL=0x3
はじめの手順
FindWindowは、ネイティブ関数(ファイル名「user32.dll」,関数名「FindWindowA」,戻り値型整数)を作る
FindWindowの引数型一覧は、{文字列, 文字列}
WindowFromPointは、ネイティブ関数(ファイル名「user32.dll」,関数名「WindowFromPoint」,戻り値型整数)を作る
WindowFromPointの引数型一覧は、{整数, 整数}
GetForegroundWindowは、ネイティブ関数(ファイル名「user32.dll」,関数名「GetForegroundWindow」,戻り値型整数)を作る
GetForegroundWindowの引数型一覧は、{}
SetForegroundWindowは、ネイティブ関数(ファイル名「user32.dll」,関数名「SetForegroundWindow」,戻り値型整数)を作る
SetForegroundWindowの引数型一覧は、{整数}
GetWindowRectは、ネイティブ関数(ファイル名「user32.dll」,関数名「GetWindowRect」,戻り値型整数)を作る
GetWindowRectの引数型一覧は、{整数,RECT}
SetWindowPosは、ネイティブ関数(ファイル名「user32.dll」,関数名「SetWindowPos」)を作る
SetWindowPosの引数型一覧は、{整数, 整数, 整数, 整数, 整数, 整数, 整数}
SetWindowPosの戻り値型は、整数
GetWindowTextは、ネイティブ関数(ファイル名「user32.dll」,関数名「GetWindowTextA」,戻り値型整数)を作る
GetWindowTextの引数型一覧は、{整数,文字列,整数}
SetWindowTextは、ネイティブ関数(ファイル名「user32.dll」,関数名「SetWindowTextA」,戻り値型整数)を作る
SetWindowTextの引数型一覧は、{整数,文字列}
FlashWindowExは、ネイティブ関数(ファイル名「user32.dll」,関数名「FlashWindowEx」,戻り値型整数)を作る
FlashWindowExの引数型一覧は、{FLASHWINFO}
終わり
終わり
ウィンドウハンドル情報とは
+ハンドル
はじめ(ハンドル)の手順
このハンドルは、ハンドル
終わり
自分をアクティブ化する手順
ウィンドウ制御のSetForegroundWindowを{ハンドル}で呼び出してRとする
終わり
自分を最前面化する手順
ウィンドウ制御のSetWindowPosを{ハンドル,ウィンドウ制御のHWND_TOPMOST,0,0,0,0,ウィンドウ制御のSWP_NOSIZEとウィンドウ制御のSWP_NOMOVEの論理和}で呼び出してRとする
終わり
自分で最前面を解除する手順
ウィンドウ制御のSetWindowPosを{ハンドル,ウィンドウ制御のHWND_NOTOPMOST,0,0,0,0,ウィンドウ制御のSWP_NOSIZEとウィンドウ制御のSWP_NOMOVEの論理和}で呼び出してRとする
終わり
自分を点滅させる手順
EXというFLASHWINFOを作る
EXのcbSizeは、EXの構造体バイト数
EXのdwFlagsは、ウィンドウ制御のFLASHW_ALL
EXのhwndは、ハンドル
EXのuCountは、5
ウィンドウ制御のFlashWindowExを{EX}で呼び出してRとする
終わり
位置という属性
取得する手順
RTというRECTを作る
ウィンドウ制御のGetWindowRectを{ハンドル,RT}で呼び出す
{RTのLeft,RTのTop}を返す
終わり
設定する手順
V=設定値
ウィンドウ制御のSetWindowPosを{H,0,V(1),V(2),0,0,ウィンドウ制御のSWP_NOSIZE}で呼び出してRとする
終わり
終わり
大きさという属性
取得する手順
RTというRECTを作る
ウィンドウ制御のGetWindowRectを{ハンドル,RT}で呼び出す
{RTのRight-RTのLeft,RTのBottom-RTのTop}を返す
終わり
設定する手順
V=設定値
ウィンドウ制御のSetWindowPosを{ハンドル,0,0,0,V(1),V(2),ウィンドウ制御のSWP_NOMOVE}で呼び出してRとする
終わり
終わり
内容という属性
取得する手順
Name=ネイティブ参照(型文字列,文字数255)を作る
ウィンドウ制御のGetWindowTextを{ハンドル, Name,255}で呼び出してRとする
Nameの値を返す
終わり
設定する手順
ウィンドウ制御のSetWindowTextを{ハンドル,設定値}で呼び出してRとする
終わり
終わり
終わり
RECTとは
ネイティブ構造体を受け継ぐ
+Left:整数
+Top:整数
+Right:整数
+Bottom:整数
はじめの手順
自分で初期化する
終わり
終わり
POINTとは
ネイティブ構造体を受け継ぐ
+x:整数
+y:整数
はじめの手順
自分で初期化する
終わり
終わり
FLASHWINFOとは
ネイティブ構造体を受け継ぐ
+cbSize:整数
+hwnd:整数
+dwFlags:整数
+uCount:整数
+dwTimeout:整数
はじめの手順
自分で初期化する
終わり
終わり