WindowsフォームアプリケーションでPCをシャットダウンさせるプログラムを製作中です。
プログラムソフトはVisual C++ 2008を使用しています。
フォーム上のボタンをクリックしたらシャットダウンさせるものです。
コンソール用の以下のコードをそのまま追加するとリンクエラーがでます。
int ShutDown(){
HANDLE hToken;
TOKEN_PRIVILEGES TokenPri;
if(OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken) == FALSE){
return FALSE;
}
if(LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &TokenPri.Privileges[0].Luid) == FALSE){
return FALSE;
}
TokenPri.PrivilegeCount = 1;
TokenPri.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &TokenPri, 0, (PTOKEN_PRIVILEGES)NULL, 0);
if(GetLastError() != ERROR_SUCCESS){
return FALSE;
}
ExitWindowsEx(EWX_SHUTDOWN, 0);
return 0;
}
リンクエラーは、
error LNK2028: 未解決のトークン (0A00000F) "extern "C" int __stdcall ExitWindowsEx(unsigned int,unsigned long)" (?ExitWindowsEx@@$$J18YGHIK@Z) が関数 "private: int __clrcall timer_bata::Form1::ShutDown(void)" (?ShutDown@Form1@timer_bata@@$$FA$AAMHXZ) で参照されました。
他3つになります。
コンソール用のシャットダウン実行ファイルをWindowsフォームアプリケーションから外部コマンドを呼び出す形ではできたのですが、一つの実行ファイルにまとめることができません。どうしたらよろしいでしょうか。
No.1ベストアンサー
- 回答日時:
#pragma comment(lib,"User32.lib")
#include <windows.h>
とか?
この回答への補足
回答ありがとうございます。
#include <windows.h>は元々追加していました。
#pragma comment(lib,"User32.lib")を追加すると上記のエラーの一つ
~int __stdcall ExitWindowsEx(unsigned int,unsigned long)" ~がおかげさまでなくなりました。
以下の残り3つのエラー
~int __stdcall AdjustTokenPrivileges~
~int __stdcall LookupPrivilegeValueW~
~int __stdcall OpenProcessToken~
も#pragma comment(lib,"xxxxx.lib")を追加することで解決できるということでしょうか。
おかげさまで、
#pragma comment(lib,"User32.lib")
#pragma comment(lib,"advapi32.lib")
の追加で解決しました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- FX・外国為替取引 mql4のコンパイルエラー箇所の修正お願いします。 1 2023/03/15 16:14
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# C++のcase文の書き方 4 2023/02/24 20:50
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IP Helper APIを使うとエラーが...
-
外部依存関係について
-
LNK2019: 外部シンボル どのよ...
-
LNK2019: 未解決の外部シンボル...
-
C++/CLIでfstream(.NET 3.5)
-
popen・pcloseについて
-
C言語のエラー LNK1120: 外部参照
-
python エラー
-
アプリケーションのDLLファイル...
-
エクセルのエラーメッセージ「4...
-
” OS ビルド ” の意味が分か...
-
C++でデスクトップGUIアプリ開...
-
Handlesについて
-
MQL5にて謎のエラーが発生!だ...
-
VBAを何回も作り直して、容量が...
-
DirectXのdmusici.libについて
-
外部シンボル "_main"は未解決です
-
Excelのエラーで困ってます。
-
unsigned long long 型のフォー...
-
コンパイル時に見たことないエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部依存関係について
-
LNK2019: 外部シンボル どのよ...
-
外部シンボルの未解決のエラー
-
LNK2001(Pro*c)
-
外部シンボル" ~~"は未解決で...
-
ステータスバーを作ろうとして...
-
popen・pcloseについて
-
コンパイルエラー
-
error LNK2001について
-
ilink32について。'__setargv__...
-
「外部シンボルが未解決」につ...
-
IP Helper APIを使うとエラーが...
-
パブリックシンボルとは?
-
リンカのエラー
-
VC++2008でのサンプルプログ...
-
C++でのエラー LNK2001
-
VC++始めたんですが、エラーの...
-
ビデオキャプチャ(VC++超初心...
-
C言語でレジストリ取得「未解決...
-
C言語のエラー LNK1120: 外部参照
おすすめ情報