1

このコードを実行しています。 に割り当てることができるボタンがある Dell で Windows 8 の画面をロックする単純なコードですが、ロックする前にウィンドウ.exeが表示されます。ウィンドウを表示せずcmdに を起動するにはどうすればよい.exeですか?

Visual Studio Dev Command Prompt を使用したコンパイル

コマンドライン:

cl lockscreen.cpp

コード:

#include <string>
#include <Windows.h>

using namespace std;

int APIENTRY  WinMain(HINSTANCE hInstance,
        HINSTANCE hPrevInstance, 
        LPTSTR    lpCmdLine, 
        int       cmdShow)
{

    system("rundll32 user32.dll,LockWorkStation");

    return 0;
}
4

3 に答える 3

3

user32.dll (実際には user32.lib はインポート ライブラリですが、これが標準の win32 プロジェクトの場合は既に実行しているはずです) にリンクし、直接呼び出し LockWorkstationます。必要に応じて、LoadLibrary() + GetProcAddress() + など。これを機能させるために rundll 呼び出しを呼び出す必要はありません。

于 2012-10-25T17:02:21.630 に答える
2

基本的に私はWhozCraigに同意しますが、外部exeを介して電話をかける正当な理由がある場合は、を使用して電話をかけてみてくださいstart /b

于 2012-10-25T17:05:24.470 に答える
2

コードをコンパイルする必要はまったくありません。特別なキーボード ボタンを接続するだけです。

rundll32.exe user32.dll,LockWorkStation
于 2012-10-25T17:49:22.177 に答える