Re: プログラムのタイトルバーの「×」を消す方法について
Kake 
			
			居住地: 愛媛県松山市 
	投稿数: 36
	
			居住地: 愛媛県松山市 
	投稿数: 36
	
既に解決しているかも知れませんが。
User32.dll(Win32.API)で実現できるはずです。
[×]そのものを消してしまうと、[×]を復元できなくなるので
[×]を無効にするほうが良いと思います。
技術的には
1.ウィンドウハンドル(Winhwnd 関数で取得する。)からシステムウィンドウのハンドルを取得する。
([×]はシステムメニューに属する)
2.[×]を無効にする。
3.システムウィンドウを再表示する。
(無効にした設定内容を反映させる為)
という手順です。
1.は、
calldll ('User32.GetSystemMenu','444',ウィンドウハンドル,0)
2.は、
calldll ('User32.EnableMenuItem','4444',上記1で取得した値,Hval ('F060'),1)
3. は、
calldll ('User32.DrawMenuBar','44',上記1で取得した値)
上記2.の最後のパラメータ(=1)が無効を示しています。
一旦無効にした[×]を有効にするには、上記2.の最後のパラメータを0で1.〜3.を実行すれば良いです。
calldllの戻り値は数値型で10桁用意すれば良いでしょう。
(もちろん、1.〜3.ごとに別々に用意すべきです。)
注意点としては、
・リッチクライアントでは使えません。
・クライアントOSがWindows系である必要があります。
お役に立てば幸いです。
User32.dll(Win32.API)で実現できるはずです。
[×]そのものを消してしまうと、[×]を復元できなくなるので
[×]を無効にするほうが良いと思います。
技術的には
1.ウィンドウハンドル(Winhwnd 関数で取得する。)からシステムウィンドウのハンドルを取得する。
([×]はシステムメニューに属する)
2.[×]を無効にする。
3.システムウィンドウを再表示する。
(無効にした設定内容を反映させる為)
という手順です。
1.は、
calldll ('User32.GetSystemMenu','444',ウィンドウハンドル,0)
2.は、
calldll ('User32.EnableMenuItem','4444',上記1で取得した値,Hval ('F060'),1)
3. は、
calldll ('User32.DrawMenuBar','44',上記1で取得した値)
上記2.の最後のパラメータ(=1)が無効を示しています。
一旦無効にした[×]を有効にするには、上記2.の最後のパラメータを0で1.〜3.を実行すれば良いです。
calldllの戻り値は数値型で10桁用意すれば良いでしょう。
(もちろん、1.〜3.ごとに別々に用意すべきです。)
注意点としては、
・リッチクライアントでは使えません。
・クライアントOSがWindows系である必要があります。
お役に立てば幸いです。
	
		投票数:0
		平均点:0.00
	
			
		
	
投稿ツリー
- 
	
 プログラムのタイトルバーの「×」を消す方法について
	(Tatara, 2012-5-18 12:52)
	
	- 
	
 Re: プログラムのタイトルバーの「×」を消す方法について
	(hiro, 2012-5-22 14:33)
	
 - 
	
 Re: プログラムのタイトルバーの「×」を消す方法について
	(Kake, 2012-5-28 21:32)
	
 
 -