ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文

  メンテナンス 前画面に戻る

対象スレッド 件名: Win32 コンソール アプリケーション キット
名前: lightbox
処理選択
パスワード

件名 Win32 コンソール アプリケーション キット
名前 lightbox
コメント
@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