mfc-ml

2004年12月

28

[mfc 50241] Re: Product Versionの取得と格納方法について

篠原です。

On Mon, 27 Dec 2004 01:22:25 +0900
Shigeru Enomoto wrote:

> ReleaseBuildする度にインクリメントして書き込みたいのですが
> これを満たすAPIが見つからず困っております。

CodeProject で探すと,アドインもしくはマクロで,というのが多いですね。
http://www.codeproject.com/info/search.asp?searchkw=increment+build+number&cats=2

-- 
 篠原 昌二 (s...@daiichi-c.co.jp)
28

[mfc 50240] Re: Product Version の取得と格納方法について


社本@ワックです。

>ReleaseBuildする度にインクリメントして書き込みたいのですが
>これを満たすAPIが見つからず困っております。

やりたいことを察すると、多分、Visual Studio のアドインを
作成するのがいいのかと思います。

Visual Studio 環境の拡張
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vsintro7/html/vxoriExtendingVisualStudioEnvironment.asp?frame=true

Visual Studio のアドインを作成して、(OLE)オートメーション経由で
リソースファイルなりを書き換えればできるかもしれません。
#私は、Visual Studioのオブジェクトモデルを知らないので、
#どこまでできるのかは、わかりません。


// 社本 明弘
// http://www.wac-jp.com/programmers/
// http://www.ailight.jp/blog/sha256/
// Microsoft MVP for VC++ (Oct 2003 - Oct 2005)
28

[mfc 50239] Re: GetWindowModuleFileName


社本@ワックです。

>>GetWindowModuleFileName は、ヘルプに「Minimum operating systems
>>Windows 95, Windows NT 4.0 SP3」と有りますが、実際に Winuser.h を
>>見てみると "WINVER >= 0x0500" と書いてあります。

MSDNライブラリも、結構、間違えてますからね。。
日本語版と英語版で違うことも多々あります。

> しかし、0x0500 は Windows2000 以降なので
> Windows98 では動作しないのですね…
> ちょっと悲しくなってきました。

Onagi さんは、「ウィンドウハンドルから モジュールのパスを取得」したいんですよね?
であれば、以下のTipsが参考になるかと思います。

http://techtips.belution.com/ja/vc/0022/


// 社本 明弘
// http://www.wac-jp.com/programmers/
// Microsoft MVP for VC++ (Oct 2003 - Oct 2005)
27

[mfc 50238] Re: GetWindowModuleFileName

小島@福井コンピュータ さん、
Onagi です。

ありがとうございます!!!
すべて小島さんのご指摘通りでした。
Winuser.h も見たのですが気づきませんでした。

デフォルトで WINVER は 0x0400 になっていたので
0x0500 に変更する事で動作しました。
これからは WINVER にも注意したいと思います。

しかし、0x0500 は Windows2000 以降なので
Windows98 では動作しないのですね…
ちょっと悲しくなってきました。
実際に試して見ます。

ありがとうございました。

H.Onagi.


>小島@福井コンピュータです。
>
>GetWindowModuleFileName は、ヘルプに「Minimum operating systems
>Windows 95, Windows NT 4.0 SP3」と有りますが、実際に Winuser.h を
>見てみると "WINVER >= 0x0500" と書いてあります。
>
>従って、
>
>#define WINVER 0x0500
>
>という一文を、stdafx.h の #include <afxwin.h> の上辺りに入れて
>試してください。
>
>>winuser.h のインクルードを stdafx.h へ追加し、
>>追加依存ファイルへ "User32.lib" を追加しました。
>
>この辺は、多分、追加しなくてもデフォルトの儘で良い筈。
27

[mfc 50237] Re: GetWindowModuleFileName

小島@福井コンピュータです。

GetWindowModuleFileName は、ヘルプに「Minimum operating systems
Windows 95, Windows NT 4.0 SP3」と有りますが、実際に Winuser.h を
見てみると "WINVER >= 0x0500" と書いてあります。

従って、

#define WINVER 0x0500

という一文を、stdafx.h の #include <afxwin.h> の上辺りに入れて
試してください。

>winuser.h のインクルードを stdafx.h へ追加し、
>追加依存ファイルへ "User32.lib" を追加しました。

この辺は、多分、追加しなくてもデフォルトの儘で良い筈。


----
翔ソフトウェア (http://www.shos.info/)
記事検索
Amazon.co.jp
  • ライブドアブログ