WindowsXPの機能を使用するための定義

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

環境:WindowsXP,VC++6.0

駄犬 [E-Mail] 2002/05/29(水) 17:04:56
これ参考になりますかどうか。

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

kazuma 2002/05/29(水) 17:06:41
必要なヘッダをインクルードしてないのでは?

kazuma 2002/05/29(水) 17:12:50
> 使いたいディファイン値が定義されていないとコンパイルエラーが出ます。

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

ごろう 2002/05/30(木) 08:03:26
使いたいディファイン値は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
です。

いもちぃ 2002/05/30(木) 09:37:48
駄犬さん紹介のページにある
_WIN32_WINNTとWINVERの両方を0x0501と定義する必要がある。
ってのが、まず試すべき措置ですね。

ごろう 2002/05/30(木) 10:01:17
_WIN32_WINNTとWINVERの両方を0x0501と定義したのですが、変化なしです。

いもちぃ 2002/05/30(木) 11:36:33
どこのWinUser.hをインクルードしてますか・・・?
SDKは最新ですか?

ごろう 2002/05/30(木) 12:55:20
Microsoft SDK\IncludeのWinUser.hをインクルードしています。SDKは最新です。

いもちぃ 2002/05/30(木) 13:40:16
>Microsoft SDK\IncludeのWinUser.hをインクルードしています。

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

ごろう 2002/05/30(木) 15:49:26
#include <Winuser.h>としてました・・・。#include <Winuser.h>を削除し、#include 
<Windows.h>のみ宣言したのですがだめです・・・。

ごろう 2002/05/30(木) 15:52:54
ちなみにこのように宣言しているのですが

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

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

ごろう 2002/05/30(木) 18:28:16
[[解決]]
ないっぺさんの方法でコンパイルしましたら、エラーなく成功しました。
ありがとうございました。

古いスレッドには追加発言できません。