Written in Japanese(UTF-8)
2014.8.30
INASOFT


/トップ/いじくるつくーる/ダウンロード/WebHelp/ヘルプトップ/

本ソフトウェアの開発は終了しています。ヘルプに記載されている情報も古いものになっています。


その他の質問



■いじくるつくーるでスタートボタンを閉じるのとかって、どうやっているのですか? レジストリですか?

 これはレジストリではありません。いくつかのAPIを組み合わせて実現している「技」です。以下に簡単に説明しますが、これはWin32のプログラミングを知らないと理解できません。Win32のプログラミングについての知識を書籍などで入手して下さい。

 説明する前に、Windowsの各コントロールの実体について知っている必要があります。

 まず、Windowsのウィンドウというのは、すべて「ウィンドウハンドル」という一意の数値で番号付けされ、管理されています。

 ここで重要なのが、ボタンやエディットボックス、リストビューなどの「コントロール」も、ウィンドウと同じ「ウィンドウハンドル」で管理されているということです。

 そこで、「ウィンドウを隠す」「ウィンドウを無効化(マウスやキーボードからの処理を受け付けなくすること)」「ウィンドウを閉じる」と同じように「ボタンを隠す」「ボタンを無効化する」「ボタンを閉じる」をすることができます。

 というわけで、ボタンを隠す・無効化する・閉じる ためには、ボタンのウィンドウハンドルというのを得る必要があります。

 ウィンドウハンドルが得られたら、そのハンドルに対して、SendMessage等を使って「閉じろ」「無効化しろ」「隠せ」などの指令を送ります。

 以上が概要です。

 で、スタートボタンのウィンドウハンドルを得る方法ですが、これは FindWindow / FindWindowEx という API を用います。

 以下に具体的なコードを示します。
 (C/C++で書きますが、お使いの言語が異なる場合は適当に翻訳して解釈して下さい)


 HWND TaskBar,StartButton;

	/* タスクバーのウィンドウハンドルを得る */
	TaskBar = FindWindow("Shell_TrayWnd",NULL);

	/* スタートボタンのウィンドウハンドルを得る */
	StartButton = FindWindowEx(TaskBar,NULL,"Button",NULL);

	EnableWindow(StartButton,TRUE);	/* スタートボタンを有効化 */
	EnableWindow(StartButton,FALSE);	/* スタートボタンを無効化 */
	ShowWindow(StartButton,SW_SHOW);		/* スタートボタンを表示 */
	ShowWindow(StartButton,SW_HIDE);	/* スタートボタンを隠す */
	SendMessage(StartButton,WM_CLOSE,0,0);	/* スタートボタンを閉じる */

	EnableWindow(TaskBar,TRUE);	/* タスクバーを有効化 */
	EnableWindow(TaskBar,FALSE);	/* タスクバーを無効化 */
	ShowWindow(TaskBar,SW_SHOW);	/* タスクバーを表示 */
	ShowWindow(TaskBar,SW_HIDE);	/* タスクバーを隠す */
	SendMessage(TaskBar,WM_CLOSE,0,0);	/* Windows終了ダイアログ */


 戻る


※このページは、ソフトウェアに付属のヘルプファイルをWeb用に再構築したものです。大部分に自動変換を施しているため、一部は正しく変換しきれずに表示の乱れている箇所があるかもしれませんが、ご容赦下さい。また、本ドキュメントはアーカイブドキュメントであり、内容は「いじくるつくーる」最終公開時点、あるいは、それより古い時点のものとなっております。一部、内容が古くなっている箇所があるかと思いますが、あらかじめご了承下さい。
※このページへは、自由にリンクしていただいてかまいません。
このページに関するご意見の受け付けは終了しています。

/トップ/いじくるつくーる/ダウンロード/WebHelp/ヘルプトップ/