WindowsXPの機能を使用するための定義 – プログラミング – Home

WindowsXPの機能を使用するため...
 
通知
すべてクリア

[解決済] WindowsXPの機能を使用するための定義


ごろう
 ごろう
(@ごろう)
ゲスト
結合: 23年前
投稿: 10
Topic starter  

最新のプラットホームSDKをインストールし、WindowsXPの機能を使用するため
#define _WIN32_WINNT 0x501と定義してコンパイルしたのですが、使いたいディファイ
ン値が定義されていないとコンパイルエラーが出ます。XP機能を使う為には他に定義し
なくてはいけないものはあるのでしょうか?教えてください。

環境:WindowsXP,VC++6.0


引用未解決
トピックタグ
駄犬
 駄犬
(@駄犬)
ゲスト
結合: 23年前
投稿: 59
 

これ参考になりますかどうか。

http://www.ascii.co.jp/pb/msdn/article/a21_0041.html


返信引用
kazuma
 kazuma
(@kazuma)
ゲスト
結合: 24年前
投稿: 217
 

必要なヘッダをインクルードしてないのでは?


返信引用
kazuma
 kazuma
(@kazuma)
ゲスト
結合: 24年前
投稿: 217
 

> 使いたいディファイン値が定義されていないとコンパイルエラーが出ます。

「使いたいディファイン値」がなんなのかも書いた方がいいと思いますよ。


返信引用
ごろう
 ごろう
(@ごろう)
ゲスト
結合: 23年前
投稿: 10
Topic starter  

使いたいディファイン値はWinUser.hの
#define WTS_CONSOLE_CONNECT 0x1
#define WTS_CONSOLE_DISCONNECT 0x2
#define WTS_REMOTE_CONNECT 0x3
#define WTS_REMOTE_DISCONNECT 0x4
#define WTS_SESSION_LOGON 0x5
#define WTS_SESSION_LOGOFF 0x6
#define WTS_SESSION_LOCK 0x7
#define WTS_SESSION_UNLOCK 0x8
です。


返信引用
いもちぃ
 いもちぃ
(@いもちぃ)
ゲスト
結合: 23年前
投稿: 70
 

駄犬さん紹介のページにある
_WIN32_WINNTとWINVERの両方を0x0501と定義する必要がある。
ってのが、まず試すべき措置ですね。


返信引用
ごろう
 ごろう
(@ごろう)
ゲスト
結合: 23年前
投稿: 10
Topic starter  

_WIN32_WINNTとWINVERの両方を0x0501と定義したのですが、変化なしです。


返信引用
いもちぃ
 いもちぃ
(@いもちぃ)
ゲスト
結合: 23年前
投稿: 70
 

どこのWinUser.hをインクルードしてますか・・・?
SDKは最新ですか?


返信引用
ごろう
 ごろう
(@ごろう)
ゲスト
結合: 23年前
投稿: 10
Topic starter  

Microsoft SDK\IncludeのWinUser.hをインクルードしています。SDKは最新です。


返信引用
いもちぃ
 いもちぃ
(@いもちぃ)
ゲスト
結合: 23年前
投稿: 70
 

>Microsoft SDK\IncludeのWinUser.hをインクルードしています。

ん~・・・ほんとかな・・・。
Winuser.hは、Windows.hでインクルードされるのですが、
#include <Winuser.h>
とかやってませんか。


返信引用
ごろう
 ごろう
(@ごろう)
ゲスト
結合: 23年前
投稿: 10
Topic starter  

#include <Winuser.h>としてました・・・。#include <Winuser.h>を削除し、#include
<Windows.h>のみ宣言したのですがだめです・・・。


返信引用
ごろう
 ごろう
(@ごろう)
ゲスト
結合: 23年前
投稿: 10
Topic starter  

ちなみにこのように宣言しているのですが

#define WINVER 0x0501
#define _WIN32_WINNT 0x0501
#include <windows.h>


返信引用
ないっぺ
 ないっぺ
(@ないっぺ)
ゲスト
結合: 23年前
投稿: 3
 

こんにちは。
メニューから
設定->(ダイアログ内の)C/C++タブ
と選び、プリプロセッサの定義に
WINVER=0x0501(必要なようなら _WIN32_WINNT=0x0501 も)
をコンマで区切って追加してみてください。
この方法で定義したら、ソースファイルの #define は削除したほうがいいかもしれませ
ん。


返信引用
ごろう
 ごろう
(@ごろう)
ゲスト
結合: 23年前
投稿: 10
Topic starter  

ないっぺさんの方法でコンパイルしましたら、エラーなく成功しました。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました