コメント |
@HTML
以下は、キットのダウンロードページです。
<a href="http://win32cpp.seesaa.net/article/158450515.html" target="_blank">Win32 コンソール アプリケーション キット</a>
@HEND
[[findwindow.cpp]]
指定したタイトル(必要ならばウインドウクラス名)より、ウインドウハンドル
を取得して標準出力へ出力します
@DIV
#include <stdio.h>
#include <tchar.h>
#include <windows.h>
static TCHAR title[512];
static TCHAR class_name[512];
int _tmain(int argc, _TCHAR* argv[])
{
title[0] = 0x00;
class_name[0] = 0x00;
HWND hWnd;
if ( argc == 1 || argc > 3 ) {
printf("%s\n", "findwindow.exe ウインドウタイトル [クラス名]" );
exit( 1 );
}
if ( argc == 2 ) {
lstrcpy( title, argv[1] );
hWnd = FindWindow( NULL, title );
}
if ( argc == 3 ) {
lstrcpy( title, argv[1] );
lstrcpy( class_name, argv[2] );
hWnd = FindWindow( class_name, title );
}
printf("%u\n", hWnd );
return 0;
}
@END
[[movewindow.cpp]]
指定したウインドウハンドルを持つウインドウの位置を変更します
位置を省略すると、デスクトップの中央に移動します
最後に最前面にウインドウを持ってきます
@DIV
#include <stdio.h>
#include <tchar.h>
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
HWND hWnd;
int x,y;
if ( argc == 1 ) {
printf("%s\n", "movewindow.exe ウインドウハンドル [X Y]" );
exit( 1 );
}
hWnd = (HWND)(_wtol( argv[1] ));
RECT drt;
RECT rt;
if ( argc == 2 ) {
GetWindowRect( GetDesktopWindow(), &drt );
GetWindowRect( hWnd, &rt );
x = ( (drt.right - drt.left) - (rt.right - rt.left) ) / 2;
y = ( (drt.bottom - drt.top) - (rt.bottom - rt.top) ) / 2;
MoveWindow( hWnd, x, y, rt.right - rt.left , rt.bottom- rt.top, true );
}
else {
x = _wtol( argv[2] );
y = _wtol( argv[3] );
GetWindowRect( hWnd, &rt );
MoveWindow( hWnd, x, y, rt.right - rt.left , rt.bottom- rt.top, true );
}
SetForegroundWindow( hWnd );
return 0;
}
@END
[[postmessage.cpp]]
メッセージをポストします。
引数は、ウインドウハンドル メッセージID wParam lParam です
@DIV
#include <stdio.h>
#include <tchar.h>
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
HWND hWnd;
DWORD message;
WPARAM wParam;
LPARAM lParam;
hWnd = (HWND)(_wtol( argv[1] ));
message = (DWORD)(_wtol( argv[2] ));
wParam = (WPARAM)(_wtol( argv[3] ));
lParam = (LPARAM)(_wtol( argv[4] ));
PostMessage( hWnd, message, wParam, lParam );
return 0;
}
@END
[[foreground.cpp]]
ウインドウを最前面に移動します
@DIV
#include <stdio.h>
#include <tchar.h>
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
HWND hWnd;
hWnd = (HWND)(_wtol( argv[1] ));
SetForegroundWindow( hWnd );
return 0;
}
@END
|