Magic本体ウィンドウの×ボタン
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
tmksgwr
投稿数: 3
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
Magic本体ウィンドウの×ボタンを消したいのですが、方法が分からず困っています。
V9Plusでは、get.dllを使用して×ボタンを消せていたのですが、uniPaaSV1Plusに移行すると、同じプログラムを実行しても×ボタンが消えなくなりました。
何か他の方法があれば教えていただけないでしょうか。
よろしくお願い致します。
V9Plusでは、get.dllを使用して×ボタンを消せていたのですが、uniPaaSV1Plusに移行すると、同じプログラムを実行しても×ボタンが消えなくなりました。
何か他の方法があれば教えていただけないでしょうか。
よろしくお願い致します。
投票数:0
平均点:0.00
null
投稿数: 191
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
get.dll を使っていないので判らないですが、
閉じるボタンを無効にするだけなら、
メインプログラムのタスク前に
アクション 式 CallDLL('USER32.EnableMenuItem', '4444', CallDLL('USER32.GetSystemMenu', '444', CallDLL('USER32.GetAncestor', '444', WinHWND(0), 2), 0), 61536, 2)
とか書いておけば無効には出来ますよ。
ついでにこれを書いておけばシステムメニューの閉じるも消せます。
アクション 式 CallDLL('USER32.DeleteMenu', '4444', CallDLL('USER32.GetSystemMenu', '444', CallDLL('USER32.GetAncestor', '444', WinHWND(0), 2), 0), 6, 1024)
アクション 式 CallDLL('USER32.DeleteMenu', '4444', CallDLL('USER32.GetSystemMenu', '444', CallDLL('USER32.GetAncestor', '444', WinHWND(0), 2), 0), 5, 1024)
閉じるボタンを無効にするだけなら、
メインプログラムのタスク前に
アクション 式 CallDLL('USER32.EnableMenuItem', '4444', CallDLL('USER32.GetSystemMenu', '444', CallDLL('USER32.GetAncestor', '444', WinHWND(0), 2), 0), 61536, 2)
とか書いておけば無効には出来ますよ。
ついでにこれを書いておけばシステムメニューの閉じるも消せます。
アクション 式 CallDLL('USER32.DeleteMenu', '4444', CallDLL('USER32.GetSystemMenu', '444', CallDLL('USER32.GetAncestor', '444', WinHWND(0), 2), 0), 6, 1024)
アクション 式 CallDLL('USER32.DeleteMenu', '4444', CallDLL('USER32.GetSystemMenu', '444', CallDLL('USER32.GetAncestor', '444', WinHWND(0), 2), 0), 5, 1024)
投票数:2
平均点:10.00
tmksgwr
投稿数: 3
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
ご回答ありがとうございます。
早速試してみたのですが、閉じるボタンもシステムメニューの閉じるも何故か消えませんでした。
もしかしたら、V9Plus以前では有効でも、uniPaaSになると効かないなんてこともあるのでしょうか。
もし、他にもなにか策があればご教示ください。
早速試してみたのですが、閉じるボタンもシステムメニューの閉じるも何故か消えませんでした。
もしかしたら、V9Plus以前では有効でも、uniPaaSになると効かないなんてこともあるのでしょうか。
もし、他にもなにか策があればご教示ください。
投票数:0
平均点:0.00
null
投稿数: 191
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
WinXP SP3 上の uniPaaS 1.9g で確認した限りではこれで無効になるんですが駄目でしたか。
これで駄目ということは CallDLL の何処かが正しく動いていないのか、環境の違いなのか・・・
get.dll の仕様が判らない上、他の案はちょっと思いつかないです。
どなたか良い方法あればお願いします。
これで駄目ということは CallDLL の何処かが正しく動いていないのか、環境の違いなのか・・・
get.dll の仕様が判らない上、他の案はちょっと思いつかないです。
どなたか良い方法あればお願いします。
投票数:0
平均点:0.00
muka
居住地: 東京都練馬区
投稿数: 69
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
こんにちは。
当方では下記の手順によりMAGICでもuniPaaSでも問題なく動作しています。
<手順>
1)
MAGICのウインドウハンドルを
CallDLLS ('USER32.GetActiveWindow','4')
で取得
2)
メニューのハンドルを
CallDLL ('USER32.GetSystemMenu','444',1の値,0)
で取得し、
3)
UDP '@USER32.EnableMenuItem' を下記パラメータでコール
Para1:'4444'
Para2:2の値
Para3:HVal ('F060')
Para4:有効なら0、無効なら1
Para5:戻り値(-1なら失敗)
当方では下記の手順によりMAGICでもuniPaaSでも問題なく動作しています。
<手順>
1)
MAGICのウインドウハンドルを
CallDLLS ('USER32.GetActiveWindow','4')
で取得
2)
メニューのハンドルを
CallDLL ('USER32.GetSystemMenu','444',1の値,0)
で取得し、
3)
UDP '@USER32.EnableMenuItem' を下記パラメータでコール
Para1:'4444'
Para2:2の値
Para3:HVal ('F060')
Para4:有効なら0、無効なら1
Para5:戻り値(-1なら失敗)
投票数:3
平均点:10.00
tmksgwr
投稿数: 3
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
ご回答ありがとうございます。
手順どおりにプログラムを作った結果、閉じるボタンの無効化ができました。
mukaさん、nullさん
大変助かりました。ありがとうございます。
手順どおりにプログラムを作った結果、閉じるボタンの無効化ができました。
mukaさん、nullさん
大変助かりました。ありがとうございます。
投票数:0
平均点:0.00