マンガでよめる痔のこと・薬のこと

VCでCtrl + Alt + Del を無効にするにはどうしたらよいでしょうか?
WindowsVISTAで使いたいのですが・・・
スクリーンセーバでパスワードを設定するとCtrl + Alt + Delが無効になるので方法はあると思うのですが、色々やってみた結果うまくいきません。
ちなみに、Alt + Tabすらも無効に出来ません。
SystemParametersInfoも
WindowProcでreturn TRUEもやってみました。

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

この回答への補足

GINA(Graphical Identification and Authentication)

http://eternalwindows.jp/security/gina/gina00.html

http://msdn.microsoft.com/ja-jp/magazine/cc163803(ja-jp).aspx

補足日時:2008/07/24 10:45
    • good
    • 0
この回答へのお礼

どのような仕組みなのか分かりました。
ありがとうございました。

お礼日時:2008/07/24 10:55

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QDWORDの実際の型は何でしょうか

VC++.NETの環境です。
DOWRD dw1 = 1;
int i = 2; と定義し
ここで
if ( i > dw1 ){
何かの処理;
}
とコーディングすると
warning C4018: '>' : signed と unsigned の数値を比較しようとしました。
のワーニングがでます。
これは、DWORDがint型でなくunsigned int型のようにも見えます。
ある本によれば(VC++.V.NET逆引き大全500の極意)
DWORD はint型であると記述されています。
もし、int型ならこのワーニングはでないはずなのですが、
なぜでるのでしょうか。又、DWORDの実際の型は何なのでしょうか。ご存じのかたおりましたら、教えていただけませんでしょうか。

Aベストアンサー

型定義が知りたいのならば、宣言ファイルを見れば疑問を挟む余地もありません。
DWORD型はwindef.hで
"typedef unsigned long DWORD;"
と宣言されています。

Visual Studioを使っているのならば、知りたい型の上にマウスポインタを置いて右クリック、ポップアップメニューの「定義へ移動」または「宣言へ移動」で簡単に知ることが出来ます。

QCTRL+ALT+DEL(タスクマネージャー)の無効化

WindowsXPでCTRL+ALT+DELを押すとタスクマネージャーが出てきますよね!
それをある事情で出ないようにしたいのです。
無効にするにはどうすればよいのですか?

Aベストアンサー

Homeであれば、削除してしまえば良いかと思います。

しかし、WindowsXPには、重要なファイルを保護する機能(WindowsFileProtection)がありますので、削除するにはセーフモードで起動する必要があります。
http://support.microsoft.com/default.aspx?scid=%2fdirectory%2fworldwide%2fja%2fkblight%2fT007%2f7%2f33.asp
セーフモードにて立ち上げて、C:\WINDOWS\system32を開き、「taskmgr.exe」を削除、もしくは、他の場所に移動して保存します。
(再度Ctrl+Alt+Delを使いたい時の為に、削除せず、なんらかのフォルダを作って置き、そこに保存して置く事をお奨めします)

作業完了したら、再起動。
以後はCtrl+Alt+Del、タスクバーを右クリック→タスクマネージャいずれの法でも起動不能になります。

使いたくなったら、同じ場所に戻せばOK。

QCtrl+Alt+Del禁止方法について

皆さんご存知のとおり、WindowsではCtrl+Alt+Delでタスクマネージャが起動し、アプリケーションを強制終了するなど行うことが出来ます。
実は、ユーザーにいたずらされないように、このCtrl+Alt+Delのコマンドを禁止したいと考えています。
風の噂で、簡単に出来ると聞いたことがあります。
いったいどのようにしたら出来るのでしょうか?
Windows2000/XPでうまい方法がありましたら教えてください。
よろしくお願いします。

Aベストアンサー

★過去に『タスクマネージャが使えません』という質問がありました。
・この質問の反対ですね。
・下の『参考URL』の回答者 No.3 です。ここを参照して『Policies』キーの場所で
 『System』キーを作成します。作成方法は、右メニューで『新規(N)』→『キー(K)』
 を選択して『System』にリネームして下さい。
・その後に『System』キーを開いて、『DisableTaskMgr』という名前の値を作成します。
 作成方法は、やはり右メニューで『新規(N)』→『DWORD値(D)』を選択して『DisableTaskMgr』
 にリネームして下さい。
・その後、『DisableTaskMgr』をダブル・クリックして『値のデータ(V)』に『1』をセットして
 『OK』ボタンを押します。
・ここまでの作業が出来たらば、設定を反映するためにパソコンを再起動して下さい。

最後に:
・上記の設定をすると『DisableTaskMgr』という名前を削除するか、値を『0』に変更するまで
 質問者さんも『タスク・マネージャ』が利用できなくなりますのでよく理解して下さい。
・以上。おわり。→下の『参考URL』を参考に上記の方法で『使用禁止』に出来ます。

参考URL:http://oshiete1.goo.ne.jp/qa2752619.html

★過去に『タスクマネージャが使えません』という質問がありました。
・この質問の反対ですね。
・下の『参考URL』の回答者 No.3 です。ここを参照して『Policies』キーの場所で
 『System』キーを作成します。作成方法は、右メニューで『新規(N)』→『キー(K)』
 を選択して『System』にリネームして下さい。
・その後に『System』キーを開いて、『DisableTaskMgr』という名前の値を作成します。
 作成方法は、やはり右メニューで『新規(N)』→『DWORD値(D)』を選択して『DisableTaskMgr』
 にリネームし...続きを読む

QAlt+F4の無効化の方法は?

 こん○○は、
 職場に、メタサーバのクライアント専用端末(Win2000)があります。このマシンは、特定のアプリ専用です。このマシンは、私以外はほとんど使用しません。このアプリを Alt+F4 で終了させると不具合が発生し、サーバの再起動以外の手段では回復しません。

 しかし、私は普段 Alt+F4 でソフトを終了させる為、このアプリでも無意識に押してしまいトラブルになる事があります。ベンダ側と話をしても、「Alt+F4を押さないように気を付けてもらうしか無い」との事でしたが、絶対に押してしまう自信があるので(←ォィォィ)なんとかできればと思います。

 このサイトを検索したところ
http://www.okweb.ne.jp/kotaeru.php3?q=6690
は見つけましたが、キーアサインソフト以外の、Alt+F4無効化手段があれば教えて下さい。
 ベンダ側と協議して、実行可能なものを試してみたいと思います。

 よろしくお願いします。

Aベストアンサー

下記の方々が申されているのですが

OSに絡んでくる機能ですので結構難しいとは思いました。
が所詮Windowsはレジストリーに縛られるOSなので恐らくレジストリーをいじれば良いと思い
Webで検索してみました。

ありました。やってみるもの手ですし「窓の杜」でも同じ事が可能なソフトがあるようです。

Windows を終了する場合、「スタート」→「Windows の終了」や、「Alt」+「F4」を押すことで、シャットダウンする事が出来ますが、何か重要な作業中の場合など、誤ってシャットダウンさせないことをレジストリを編集する事で可能になります。

「スタート」→「ファイル名を指定して実行」で「regedit」と入力してレジストリ エディタを開きます。
「HKEY_CURRENT_USER」→「Software」→「Microsoft」→「Windows」→「CurrentVersion」→「Policies」→「Explorer」とたどります。
そこの右の欄で、「右クリック」→「新規」→「DWORD 値」を選択し、名前を「NoClose」とします。
できた「NoClose」のアイコンをダブル クリックし、値のデータを「1」にします。再起動して、完了です。
なお、この設定をもとに戻すには、先ほど作った、レジストリの値を「0」にするか、削除すると元に戻ります。


--------------------------------------------------------------------------------

参考URL:http://www.forest.impress.co.jp/article/2003/07/15/okiniiri.html

下記の方々が申されているのですが

OSに絡んでくる機能ですので結構難しいとは思いました。
が所詮Windowsはレジストリーに縛られるOSなので恐らくレジストリーをいじれば良いと思い
Webで検索してみました。

ありました。やってみるもの手ですし「窓の杜」でも同じ事が可能なソフトがあるようです。

Windows を終了する場合、「スタート」→「Windows の終了」や、「Alt」+「F4」を押すことで、シャットダウンする事が出来ますが、何か重要な作業中の場合など、誤ってシャットダウンさせ...続きを読む

Qリソースエディタでスタティックテキストの文字サイズの変更

 VisualStudio を使っています。
 リソースエディタで、作成したダイアログ・ボックス中に貼り付けた、
スタティックテキスト(Static Text)の文字サイズの変更を個別にしたいのです。

 ダイアログのプロパティには、フォントとサイズを変更できるようになっていますが、個々のスタティックテキストには、ありません。

 どうすれば、一番良いのでしょうか?
 教えてください。

 よろしくお願いします。

 

Aベストアンサー

WM_INITDIALOGの中でフォントを指定すればよいでしょう。
(MFCならCStatic::SetFont)

case WM_INITDIALOG:
{
HWND hStatic = GetDlgItem(hWnd , IDC_STATIC1 );
HFONT hFont = CreateFont(16,
0,
0,
0,
FW_REGULAR,
FALSE,
FALSE,
TRUE,
ANSI_CHARSET,
OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
PROOF_QUALITY,
DEFAULT_PITCH,
_T("MS ゴシック") );
SendMessage(hStatic,WM_SETFONT,(WPARAM)hFont, TRUE);
}

参考URL:http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200211/02110110.txt

Qファイルやディレクトリの存在確認を行う方法

ファイルをオープンするのはfopenでOKですが、ファイルやディレクトリの存在確認を行う方法が知りたいです。

何か組み合わせて作るものなのでしょうか?
perlとか便利な演算子があるのですが、C/C++って器用ではないですね。
これは処理系?依存の内容ですか?

私の環境は VC6, VC2005 Windows2000です。

Aベストアンサー

int access(const char* path, int mode);
int stat(const char* path, struct stat* sb);

かな?
MSDN を引くと _access_s() を使えとか書いてあるけど。

QLNK2019: 未解決の外部シンボルのエラーが出る

Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1
----------------------------------------------------------------
新しいプリジェクト→Win32 コンソール アプリケーション(ソリューションのディレクトリを作成 チェック外す)→Windows アプリケーション(空のプロジェクト チェック外す)
----------------------------------------------------------------
 プログラム

 mymain.cpp
#include "myhelper.h"
#include "mymain.h"

//自キャラのデータ
Point2D g_jikipos = {40, 400};//自キャラの座標

//画像ハンドル
int g_jikiimage[11];

//色々なファイルの読み込み
int LoadFiles(){
//画像ファイル読み込み
if(LoadDivGraph("media\\player01.bmp",
11,11,1,64,64,g_jikiimage) == -1) return -1;

return 1;
}


 mymain.h
//他から呼び出させるMyMainの関数
void MyMain();
int LoadFiles();


 myhelper.h(サンプルなので打ちミスはない)
#include "DxLib.h"
#include <limits.h>
#include <math.h>

//構造体宣言
//座標またはベクトルを記録する構造体
struct Vector{
float x,y;
};
typedef Vector Point2D;
//線を記録する構造体
struct Line2D{
Point2D startpos, endpos;
float katamuki;//傾きをラジアン値で記録
Vector speed;//移動している場合は速度をセット
};
//球体を記録する構造体
struct Ball2D{
Point2D position;
float hankei;//半径
};
//四角形を記録する構造体
struct Rect2D{
Point2D lefttop;
Point2D rightbottom;
float width;
float height;
};


//ライブラリ関数
Point2D PosInView(Point2D in);
int XInView(float inx);
int YInView(float iny);
void ScrollToLeft(float jikiposx);
void ScrollToRight(float jikiposx);
void ScrollToUp(float jikiposy);
void ScrollToDown(float jikiposy);
void DrawLineInView(float x1, float y1, float x2, float y2, int Color, int Thickness);
void DrawCircleInView(float x, float y, float r, int Color, int FillFlag);
void DrawAnimation(float x, float y, double ExtRate, double Angle,int TurnFlag,
int *imgarray, int allframe, float fps);
//ベクトル関数
Vector CreateVector(Vector in, float veclen);
Vector AddVector(Vector v1, Vector v2);
Vector SubVector(Vector v1, Vector v2);
Vector AddVectorInFrameTime(Vector pos, Vector speed);
Vector AddVectorInFrameTime2(Vector pos, Vector speed, Vector accel);
Vector Normalize(Vector in);
Vector RotateVector(Vector in, float radian);
float VectorLengthSquare(Vector in);
float DotProduct(Vector v1, Vector v2);
float CrossProduct(Vector v1, Vector v2);
void SetLine2DKatamuki(Line2D *in);
void DrawLine2D(Line2D in, int Color, int Thickness);
void DrawBall2D(Ball2D in, int Color, int Fill);
//当たり判定関数
bool HitTestLineAndBall(Line2D linein, Ball2D ballin);
bool IsPointAtLineFace(Line2D linein, Point2D ptin);
bool HitTestLineAndLine(Line2D line1, Line2D line2);
bool HitTestBallAndBall(Ball2D a, Ball2D b);
bool HitTestPointAndBox(Rect2D rect, Point2D pt);
//タイマー関数
void SetSimpleTimer(int idx, int time);
int GetPassedTime(int idx);


//グローバル変数
extern float g_frametime;
extern Rect2D g_framerect;//画面領域(当たり判定)
extern Point2D g_current_field_pos;//現在の左上座標
extern Rect2D g_stagesize;//ステージサイズ

//定数宣言
const float ZEROVALUE = 1e-10f;
const float PIE = 3.1415926f;
const int SCROLL_LIMIT = 200;
----------------------------------------------------------------
 エラー内容
1>myhelper.obj : error LNK2019: 未解決の外部シンボル "void __cdecl MyMain(void)" (?MyMain@@YAXXZ) が関数 _WinMain@16 で参照されました
1>C:\Documents and Settings\Owner\My Documents\Visual Studio 2008\Projects\my\Debug\my.exe : fatal error LNK1120: 外部参照 1 が未解決です
1>my - エラー 2、警告 0
ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ
----------------------------------------------------------------
画像を貼り付けときます
(見えにくい場合→http://www.dotup.org/uploda/www.dotup.org154142.jpg.html)
初心者なのでわかりやすくお願いします

Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1
----------------------------------------------------------------
新しいプリジェクト→Win32 コンソール アプリケーション(ソリューションのディレクトリを作成 チェック外す)→Windows アプリケーション(空のプロジェクト チェック外す)
----------------------------------------------------------------
 プログラム

 mymain.cpp
#include "myhelper.h"
#include "mymain.h"

//自...続きを読む

Aベストアンサー

ファイル構成から推測するに
mymain.cpp というファイルに
void MyMain(void) {
// ここに処理を書く
}
という関数が必要なようです。

QVB.NETで、[Ctrl]+[Alt]+[Del]を無効にするプログ

VB.NETで、[Ctrl]+[Alt]+[Del]を無効にするプログラムを考えています。

グローバルキーフックを使用しないで、実現する方法はありますでしょうか?
ご教示の程お願いいたします。

Aベストアンサー

>グローバルキーフック
これの引数っていろいろありますよね?

マウスとキーボードだけは.NETで捕らえることができます。
ただCTL+ALT+DELというショートカットは、これらの管理よりもっと深いところで行われているので、仮にCで作成してフックしても目的の制御の実現は出来ません。


>グローバルキーフックを使用しないで
となると、やはり#1さんの方法しかありません。


#1さんの参考URL中に
「SAS発生時の動作:」
というのがあります。そこに
「GINAのWlxLoggedOnSas()」
というところがあるのですが、その近辺を熟読してください。
そしてこれ
http://msdn.microsoft.com/en-us/library/aa380570(VS.85).aspx


#1さんが示した情報は「古い」のではなく、古くから存在する実現方法というだけです。
そして現在、新たな別方法が出現しているわけではありません。

.NETで作成するDLLとCで作成するDLLは当然異なりますので、質問の
「VB.NETで、[Ctrl]+[Alt]+[Del]を無効にするプログラム」
という質問には、「無理です」としか言いようがありません。

>グローバルキーフック
これの引数っていろいろありますよね?

マウスとキーボードだけは.NETで捕らえることができます。
ただCTL+ALT+DELというショートカットは、これらの管理よりもっと深いところで行われているので、仮にCで作成してフックしても目的の制御の実現は出来ません。


>グローバルキーフックを使用しないで
となると、やはり#1さんの方法しかありません。


#1さんの参考URL中に
「SAS発生時の動作:」
というのがあります。そこに
「GINAのWlxLoggedOnSas()」
というところがあるのですが、その...続きを読む


人気Q&Aランキング