Alt・スタートキーの無効化

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: Alt・スタートキーの無効化

by M.S. » 2007年2月03日(土) 18:28

自分でやってみて、このようになりました。
間違いがたくさんあると思います。
一応全部載せておきます。
HOOK.abp(55) - "0x30" 無効な識別子です
HOOK.abp(55) - "0x39" 無効な識別子です
というエラーが出ます。
これはどうすれば良いのでしょうか?

Re: 返信@yu0627

by M.S. » 2007年2月03日(土) 17:10

> >#pragma data_seg("MY_DATA")
> ...。
> ちゃんとページを下のほうまで見てください...。
>
> これは必要ないです。

ありがとうございます。

一応やってみたのですが、間違いだらけだと思うので、
夜に投稿させていただきます。

それから、
RESULT CALLBACK MyHookProc...
の所を、
Function EventCall_MyHookProc(...
にしたのですが、これで良いのですか?

返信@yu0627

by yu0627 » 2007年1月31日(水) 21:45

> #include <windows.h>
これは無視していいです。
ActiveBasicではWindowsでのプログラミングで必要な宣言は基本的なものは最初からインクルードされます。

>#pragma data_seg("MY_DATA")
...。
ちゃんとページを下のほうまで見てください...。

これは必要ないです。

by M.S. » 2007年1月31日(水) 18:20

すみません、暫く AB ができなかったので返信が遅れてしまいました。

教えていただいたサイトのコードを AB のコードにしようとしたところ、
一番初めのところでつまづいてしまいました。

#include <windows.h>

#pragma data_seg("MY_DATA")

上はなんとなくわかるのですが、どうすれば良いのかわからず、
下は、何のことか全くわかりません。

by ゲスト » 2007年1月05日(金) 14:56

質問への回答ではないですが、
自分の経験からひとつ発言をば。。。。

> > 僕は今、Windows のログイン機能みたいな、
> > ユーザー名とパスワードを入力しないと終了しないプログラムを作っています。
> そもそもこの仕様が間違いなんじゃないでしょうか?
> 限りなく特殊な方法を取らなければ終了できないっていうのは、それができない人にとってエレクトリックサンダー(パソコンの電源を強制的に落とす)しか残っていません。(Alt+Ctrl+Delでプロセスを終了させてもオーケー?)
> オルトキーやウィンドウズキーまで制限されてますしね。
>
> ユーザー名とパスワードを入力しないとメインプログラムが始まらないようにしてはいかがでしょう?

業務用のアプリケーションで、複数人が触るソフトを開発したことがありますが、
その場合、アルバイトなんかが間違ってソフトを終わらせないように、
起動と終了には必ず現場監督しか知らないパスワードを入力しないと
いけないなんてことがありました。


横槍すんませんでした^^

by 7 » 2007年1月05日(金) 07:07

冬期休業だったので今日は久しぶりの出勤です。明日はまた休みだと気合を入れて頑張ってきます、ということで。

> Alt キーが有効だと F4 キーと一緒に押されると閉じてしまうので、
> そのプログラムが全く意味を成さなくなってしまうからです。
この部分についてはおそらく解決です。

コード: 全て選択

' TRUEで閉じれる
' FALSEで閉じれない
Dim isClose=FALSE As BOOL

' ウィンドウの終了ボタンが押された時
Sub MainWnd_QueryClose(ByRef cancel As Integer)
	If isClose Then
		cancel=FALSE
	Else
		cancel=TRUE
	End If
End Sub
特殊な方法で閉じれるイコール通常の方法では閉じれない、閉じれないようにしましょう。
特殊な方法を取った時にisClose変数をTRUEにすることで閉じることができるようになります。

> 折角デスクトップのツールバーを隠しているのに、
> スタートキーを押してメニューを開けたら意味がありませんし、
ツールバーっていうのはタスクバーのことですよね...?。
う~んどうやって隠しましょうか。

むむむ...。

> 僕は今、Windows のログイン機能みたいな、
> ユーザー名とパスワードを入力しないと終了しないプログラムを作っています。
そもそもこの仕様が間違いなんじゃないでしょうか?
限りなく特殊な方法を取らなければ終了できないっていうのは、それができない人にとってエレクトリックサンダー(パソコンの電源を強制的に落とす)しか残っていません。(Alt+Ctrl+Delでプロセスを終了させてもオーケー?)
オルトキーやウィンドウズキーまで制限されてますしね。

ユーザー名とパスワードを入力しないとメインプログラムが始まらないようにしてはいかがでしょう?

by M.S. » 2007年1月04日(木) 20:20

yu0627 さん、ありがとうございます。
僕は C が全く出来ませんが、
頑張ってやってみます。

> 回答ではなくて失礼なんですけど、どうしてオルトキーとウィンドウズキーを無効にしたいんでしょう?

僕は今、Windows のログイン機能みたいな、
ユーザー名とパスワードを入力しないと終了しないプログラムを作っています。
それは、タイトルバーのない MainWnd を最前面ウィンドウにし、
最大化表示させてそのうえにウィンドウを開くようにしているのですが、
折角デスクトップのツールバーを隠しているのに、
スタートキーを押してメニューを開けたら意味がありませんし、
Alt キーが有効だと F4 キーと一緒に押されると閉じてしまうので、
そのプログラムが全く意味を成さなくなってしまうからです。

by 7 » 2007年1月04日(木) 17:55

お昼にこの投稿を見てちょっと調べてみたら結構むずかしそうだなぁと思ったのと、オルトキーとウィンドウズキーを無効にして得られるアドバンテージがよく分からなかったので無視してました...。

回答ではなくて失礼なんですけど、どうしてオルトキーとウィンドウズキーを無効にしたいんでしょう?

返信@yu0627

by yu0627 » 2007年1月04日(木) 16:58

 出来ます。ただし、無効化するプログラムはDLL内に書く必要があります。
ローレベルキーボードフックというものです。
詳しくはこちらのサイトを見てください。
http://www.kumei.ne.jp/c_lang/sdk2/sdk_161.htm

--2007/01/04 19:36追記---
 ローレベルキーフックのDLLについてはまだ公開していないあるソフトで必要なため作成したことがあります。
ただ、自分仕様に拡張してしまったのでシンプルではないプログラムになっちゃってるので、今の所ソースコードの公開は無いです...。

Alt・スタートキーの無効化

by M.S. » 2007年1月04日(木) 13:50

Enter キーが有効に出来るのは知っていますが、
Alt キーとスタートキーを無効にすることは出来るのでしょうか?

ページトップ