[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 04/07 07:33 / Filesize : 179 KB / Number-of Response : 816
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build54



1 名前:デフォルトの名無しさん [2007/06/12(火) 19:59:25 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。

過去スレ、関連リンクは>>2-5くらい。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版(msdn.microsoft.com/library/)の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

2 名前:デフォルトの名無しさん [2007/06/12(火) 20:00:44 ]
53 pc11.2ch.net/test/read.cgi/tech/1178882828/
52 ttp://pc11.2ch.net/test/read.cgi/tech/1176828891/
51 ttp://pc11.2ch.net/test/read.cgi/tech/1174416295/
50 ttp://pc11.2ch.net/test/read.cgi/tech/1171721448/
49 ttp://pc10.2ch.net/test/read.cgi/tech/1168708801/
48 ttp://pc10.2ch.net/test/read.cgi/tech/1166172047/
47 ttp://pc8.2ch.net/test/read.cgi/tech/1163375772/
46 ttp://pc8.2ch.net/test/read.cgi/tech/1159158014/
45 ttp://pc8.2ch.net/test/read.cgi/tech/1156032806/
44 ttp://pc8.2ch.net/test/read.cgi/tech/1151501925/
43 ttp://pc8.2ch.net/test/read.cgi/tech/1148005509/
42 ttp://pc8.2ch.net/test/read.cgi/tech/1144962549/
41 ttp://pc8.2ch.net/test/read.cgi/tech/1141392216/
40 ttp://pc8.2ch.net/test/read.cgi/tech/1138893959/
39 ttp://pc8.2ch.net/test/read.cgi/tech/1136673250/
38 ttp://pc8.2ch.net/test/read.cgi/tech/1133798345/
37 ttp://pc8.2ch.net/test/read.cgi/tech/1131884991/
36 ttp://pc8.2ch.net/test/read.cgi/tech/1128951330/
35 ttp://pc8.2ch.net/test/read.cgi/tech/1125850096/
34 ttp://pc8.2ch.net/test/read.cgi/tech/1122723009/
33 ttp://pc8.2ch.net/test/read.cgi/tech/1120153520/
32 ttp://pc8.2ch.net/test/read.cgi/tech/1117271829/
31 ttp://pc8.2ch.net/test/read.cgi/tech/1114762194/

3 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 20:01:25 ]
30 ttp://pc8.2ch.net/test/read.cgi/tech/1112345886/
29 ttp://pc8.2ch.net/test/read.cgi/tech/1110281860/
28 ttp://pc5.2ch.net/test/read.cgi/tech/1108199304/
27 ttp://pc5.2ch.net/test/read.cgi/tech/1106103119/
26 ttp://pc5.2ch.net/test/read.cgi/tech/1104109858/
25 ttp://pc5.2ch.net/test/read.cgi/tech/1101393155/
24 ttp://pc5.2ch.net/test/read.cgi/tech/1098967135/
23 ttp://pc5.2ch.net/test/read.cgi/tech/1095534704/
22 ttp://pc5.2ch.net/test/read.cgi/tech/1092524669/
21 ttp://pc5.2ch.net/test/read.cgi/tech/1090422324/
20 ttp://pc5.2ch.net/test/read.cgi/tech/1088140233/
19 ttp://pc5.2ch.net/test/read.cgi/tech/1084697545/
18 ttp://pc5.2ch.net/test/read.cgi/tech/1081702990/
17 ttp://pc5.2ch.net/test/read.cgi/tech/1077470361/
16 ttp://pc2.2ch.net/test/read.cgi/tech/1073830065/★
15 ttp://pc2.2ch.net/test/read.cgi/tech/1069339866/★
14 ttp://pc5.2ch.net/tech/kako/1065/10653/1065328397.html
13 ttp://pc5.2ch.net/tech/kako/1059/10595/1059549320.html
12 ttp://pc5.2ch.net/tech/kako/1056/10560/1056033645.html
11 ttp://pc5.2ch.net/tech/kako/1052/10526/1052651750.html
10 ttp://pc5.2ch.net/tech/kako/1047/10478/1047819779.html
9 ttp://pc5.2ch.net/tech/kako/1044/10449/1044929160.html
8 ttp://pc5.2ch.net/tech/kako/1040/10409/1040964626.html
7 ttp://pc3.2ch.net/tech/kako/1036/10366/1036654893.html
6 ttp://pc3.2ch.net/tech/kako/1032/10325/1032548635.html
5 ttp://pc3.2ch.net/tech/kako/1028/10285/1028580373.html
4 ttp://pc3.2ch.net/tech/kako/1023/10233/1023361418.html
3 ttp://pc.2ch.net/tech/kako/1017/10170/1017072275.html
2 ttp://pc.2ch.net/tech/kako/1006/10067/1006783012.html
1 ttp://pc.2ch.net/tech/kako/991/991576947.html

4 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 20:02:07 ]
- MSDN ホームページ
www.microsoft.com/japan/msdn/
- MSDN ライブラリ
msdn.microsoft.com/library/ja/
- MSDN 2 ライブラリ
msdn2.microsoft.com/ja-jp/library/
- 猫でもわかるプログラミング
www.kumei.ne.jp/c_lang/
- Google
www.google.com/
- MSDN ライブラリ 2006年6月版
www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=373930CB-A3D7-4EA5-B421-DD6818DC7C41
- Platform SDK Update
(WindowsR Server 2003 R2 Platform SDK Full Download)
www.microsoft.com/downloads/details.aspx?FamilyId=484269E2-3B89-47E3-8EB7-1F2BE6D7123A
www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm
www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm

- Win32 API入門
wisdom.sakura.ne.jp/system/winapi/
- Win32 プログラミング入門
www7.plala.or.jp/keny01/

- Advanced Windows (書籍)
www.amazon.co.jp/exec/obidos/ASIN/4756138055

-おまけ
dat落ちしている過去スレが見れるかも。Build19が見たい人、余裕のある人は●でも買ってやってくれ。
www.2chsearch.info/index.php?b=tech
makimo.to/cgi-bin/search/search.cgi?q=Win32API&andor=AND&sf=2&view=table&D=tech

5 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 20:02:48 ]
MSDN日本語版は誤訳があったり、一部欠けていたりするなど不完全なため、英語版推奨。
msdn.microsoft.com/library/
msdn2.microsoft.com/en-us/library/

MSDN ライブラリ 2006年12月版
www.microsoft.com/downloads/details.aspx?FamilyID=94596af5-cc58-45af-a14b-df627a31e783&DisplayLang=ja

MicrosoftR WindowsR Software Development Kit for Windows Vista? and .NET Framework 3.0 Runtime Components
www.microsoft.com/downloads/details.aspx?FamilyID=c2b1e300-f358-4523-b479-f53d234cdccf&DisplayLang=en

6 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 20:03:40 ]
俺乙

7 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 20:07:55 ]
>>7-1001


8 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 20:12:59 ]
華麗なスレ建て乙華麗

9 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 20:44:31 ]
Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components
www.microsoft.com/downloads/details.aspx?FamilyID=7614fe22-8a64-4dfb-aa0c-db53035f40a0&DisplayLang=en

Microsoft Windows Software Development Kit Update for Windows Vista
www.microsoft.com/downloads/details.aspx?FamilyID=4377f86d-c913-4b5c-b87e-ef72e5b4e065&DisplayLang=en

日本語版 Windows SDK
www.microsoft.com/downloads/details.aspx?FamilyID=7614FE22-8A64-4DFB-AA0C-DB53035F40A0&displaylang=ja

10 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 21:25:16 ]
win32apiの関数だけで2Dのゲームを作るのとdirectXを使ってwindowタイプの2Dのゲームを作るのとではやはりdirectXの方が描画が明らかに早いですか



11 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 21:52:28 ]
>>10
ゲームによる

12 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 22:15:34 ]
でもまあたいがいはDirectXのが早い

13 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 22:28:10 ]
Vistaもあるし,D3Dで書いた方がいいんでね?

14 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 01:47:52 ]
"12345678" ==> 0x12345678
に変換するWin32APIがあったら教えてください

15 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 01:59:19 ]
"0x123" -> 0x123 shlwapi.lib StrToIntEx()

16 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 03:10:21 ]
sscanfじゃいかんの?

17 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 04:55:12 ]
スレ違いです

18 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 05:19:08 ]
>>14の質問の意図は「数字を数値化する方法」じゃなくて
「数字を数値化するAPIをおれによこせ おれはかみになるんだ」ってことだしな

19 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 05:49:48 ]
>>14
文字列を数値に変換したいけど
CRT使いたくないからAPI教えてって事なら>>15

10進数の文字列を値の違う16進数の数値に変換って事なら
答えは、ない
0x12345678 = 305419896 だから
"12345678" -> 12345678 -> 305419896 か
"12345678" -> "0x12345678" -> 0x12345678
この処理が必要になる


20 名前:デフォルトの名無しさん [2007/06/13(水) 09:13:22 ]
このwpeproみたく、socketの盗み見、編集をするためのAPIの名前のヒントをください。
dllのinjectionで割り込むのがスジでしょうか。

wpepro.net/



21 名前:20 [2007/06/13(水) 09:30:41 ]
NEGiES version 1.57
みたいなやつを作ろうとおもってます。

ttp://hp.vector.co.jp/authors/VA036210/

22 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 09:40:28 ]
>>14 はstrtol()を知らないだけなんじゃないかと思う

23 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 09:41:54 ]
>>21
パケットモニタか
ここで聞いた方がいいんじゃないか

ネットワークプログラミング相談室 Port19
pc11.2ch.net/test/read.cgi/tech/1171029896/

24 名前:20 [2007/06/13(水) 09:48:23 ]
参照はioctlsocketにSIO_RCVALLでできるのまでわかっています。
でも、これだと編集はできないです。

25 名前:20 [2007/06/13(水) 09:52:25 ]
>>23
ありがとう、過去ログ呼んで、聞いてみます。

26 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 20:56:16 ]
WPARAM とか LPARAM の
頭文字、W Lは何の略なのでしょうか?
あとlpsCmdLineのlps
LR_DEFAULTSIZEのLR
nCmdShowのnが 何なのか
気になっております。


27 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 21:03:20 ]
WとLは、WORDとLONG、昔はWORD型とLONG型だった
LRは知らない
nは駆逐されつつあるシステムハンガリアンでint型を表す接頭辞

28 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 21:05:23 ]
何で駆逐されつつあるんでしょうか?

29 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 21:08:13 ]
LPARAM Long長のパラメータ(旧)。今はLONG_PTR長のパラメータのこと。
#if defined(_WIN64)
typedef __int64 LONG_PTR;
#else
typedef long LONG_PTR;
#endif

WPARAM WORD長のパラメータ(旧)。今はUINT_PTR長のパラメータのこと。
#if defined(_WIN64)
typedef unsigned __int64 UINT_PTR;
#else
typedef unsigned int UINT_PTR;
#endif

LR_DEFAULTSIZEのLRはLoad Resourceの頭だと思われ。
nCmdShowのnは符号付整数として、Numericのnかな?←自信ない

30 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 21:14:56 ]
biography.sophia-it.com/content/%E3%83%81%E3%83%A3%E3%83%BC%E3%83%AB%E3%82%BA%E3%83%BB%E3%82%B7%E3%83%A2%E3%83%8B%E3%83%BC

この人が祖だったわけね。



31 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 21:22:40 ]
>>28
msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpgenref/html/cpconparameternamingguidelines.asp

>>27の言い方は極端かもしれないが、.(あくまで)NET Frameworkでは、
『パラメータ名にはハンガリー型表記法を使用したプリフィックスは付けません。 』
としている。


駆逐かどうかは知らんけどな。

32 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 21:32:16 ]
>>30
何の?

33 名前:26 mailto:sage [2007/06/13(水) 21:38:21 ]
ありがとうございます。
lpsCmdLineは分かりませんか?
LongPointerでしょうか…
でもsがそれだと変だしなぁ...

34 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 21:47:12 ]
なんなんだ、このやり取りは?
アホくさ

35 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 21:49:19 ]
LPSTR lpsCmdLineでしょ

36 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 21:56:39 ]
うはw
Excel、Word作ったヤツが、ハンガリアン記法はじめたんかいな

37 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 21:59:12 ]
lpszじゃないのか?
16ビットのころのfarポインタのASCIZ文字列だったけな

38 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 22:11:12 ]
long
pointer
string
zero terminated  ってかこれAPIってよりC言語のお話じゃないの?

39 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 22:15:31 ]
まあAPIそのものがCだったからな。CDECLじゃなくてPASCALだったけど

40 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 22:39:02 ]
ちなみにlpszプリフィックスは
Large Pointer to String terminated by Zeroの略称で、終端にNULLを置くようですね。



41 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 22:54:16 ]
ハンガリアン記法の歴史ならここでも読んでおけ
local.joelonsoftware.com/mediawiki/index.php/%E9%96%93%E9%81%95%E3%81%A3%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E9%96%93%E9%81%95%E3%81%A3%E3%81%A6%E8%A6%8B%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B

42 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 23:09:38 ]
>>22
知らないで自前で作っちゃったよ・・・orz

43 名前:デフォルトの名無しさん [2007/06/15(金) 09:50:58 ]
最高にわろた

44 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 14:42:40 ]
>>41
なるほど。
元々のハンガリアン記法は常識的なものだったんだな。

45 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 14:43:23 ]
>>41
なるほど。
元々のハンガリアン記法は常識的なものだったんだな。

46 名前:デフォルトの名無しさん [2007/06/15(金) 18:18:43 ]
一行文字入力ダイアログボックスってどうやって出すの?

47 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 18:21:45 ]
>>46
意味がわからん。例えばどれのことだ?
普通にダイアログ作って1行入力して受け取るんじゃダメなのか。

48 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 18:24:13 ]
MessageBoxの逆みたいのないんですか?
if(InputBox(handle, text, caption, buf, sizeof(buf))) printf("%s\n", buf);
みたいに使えるようなの。

49 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 18:27:30 ]
作ってみ。そんな手間じゃないぞ。

50 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 20:17:46 ]
ハンガリアン記法か・・・。

他のスレにも書いたネタで恐縮だが、
typedef int HEIGHT ;
typedef int WEIGHT ;

HEIGHT h = 170 ;
WEIGHT w = h ;
これがコンパイラによってハネられないために、生まれたものだと思う。

C/C++のtypedefは、
新しく型を定義するのではなく、既存の型に別名を付ける
という代物で、
なんでtypealiasじゃないんだよ! という困ったチャン。

構造体やクラスでラップすれば、型が違うのでダメよとハネてくれるんだけど、なんだかなぁ。



51 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 20:20:39 ]
Delphi とか、C++ Builder にはあるな>InputBox

52 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 21:36:36 ]
フルパスから拡張子を除いたファイル名取得するAPIってないですか?
今はPathFindFileName()→PathRemoveExtension()でやってるんですけど

53 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 22:33:17 ]
>>52
パスだけ、ファイル名だけ、の2つを
つなげればいい。APIはなんだっけか

54 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 23:42:40 ]
>>42
最近のヤツはマルチスレッドで利用してもたいてい問題無いようにはなってるけど、
C++の規格としてそれが保障されてるわけじゃないから自作モノにも意味があるよ。

55 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 23:48:44 ]
また妄想で適当なことをほざく馬鹿が湧く。
もう春はとっくに終わったぞ。

56 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 23:49:53 ]
夏の方が長い

57 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 23:53:01 ]
文字列変換関数なんて普通に作ったらリエントラントだろ
マルチスレッドがどうとか意味不明すぎる

58 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 23:56:42 ]
>>55-57
知ったかぶった馬鹿どもがこんなにいるとは思わんかった。

59 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 00:01:45 ]
>>58
負け犬の独り言はチラシの裏にでも書いておけ。

60 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 00:51:16 ]
>>54
strtokと勘違いして内科医?



61 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 01:07:08 ]
strtok はスレッドセーフじゃないな。明らかに。

62 名前:54 mailto:sage [2007/06/16(土) 01:10:51 ]
>>60
   /\___/ヽ
 /''''''   '''''':::::::\
 .| (◯),   、(◯)、.::|:
 .| " ,,ノ(、_, )ヽ、,,"".:::|:
 .|   ´,rェェェ、` .:::::::::|:
 -\  |,r-r-|  .:::::/…
    ヾ`ニニ´ / ̄"''''ヽ:

63 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 06:03:46 ]
>>62
吹いたwwwwwwwwwwwwww

64 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 07:29:03 ]
僕ハッカー

65 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 08:23:14 ]
Win32APIに64bitなGetTickCountってないの?

66 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 08:27:56 ]
ない

67 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 11:47:12 ]
>>61
msdnには大丈夫と書いてあるが。

68 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 11:59:49 ]
何も考えずに対策無しに実装したらって話だろ

69 名前:54 mailto:sage [2007/06/16(土) 12:45:02 ]
自己解決しました。

>>60にカチンときたので、コンパがあっても教えません。
バーカ!


70 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 12:50:58 ]
解決も何も、元々質問じゃねーだろ
騙るならもうちょっとスレ読んでからなw



71 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 13:00:23 ]
>>65
長い時間をはかるのに使うような代物じゃない。
オーバーフロー対策は、

DWORD dwElapsed ;
if (dwStart <= dwEnd) {
dwElapsed = dwEnd - dwStart ;
} else {
dwElapsed = dwStart - dwEnd ;
}

これでいいんじゃない?

72 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 13:35:51 ]
START=DWORD_MAX-10で、
END=20のとき、
ELAPSEDは、DWORD_MAX-30になるのか?

何も考えずに、
DWORD dwElapesed = dwEnd - dwStart;
でいいんじゃないのか?

73 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 13:46:46 ]
>>71
クマー

74 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 14:29:09 ]
以前"ファイルハンドルを開きっぱなしでそのファイルを削除しようとすると、
「ファイルまたはフォルダの削除エラー」がでます。 "
ということを質問させてもらいました。

削除に関しては、CreateFileにFILE_SHARE_DELETEのフラグをつけることで
エラーが出なくなり解決しましたが、
リネーム時に「ファイルまたはフォルダの変更エラー」が
出てしまいます。

今はFILE_SHARE_READ,FILE_SHARE_WRITE,FILE_SHARE_DELETEのフラグを
立てています。

ファイルハンドルを開きっぱなしのファイルがリネームされるときに
エラーにならなくなる方法がありましたら教えてください。
またファイルがリネームされるタイミングを知ることができれば、
ファイルハンドルを解放できますが、そういう方法もありますか?


75 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 14:41:49 ]
CreateEventとかCriticalSection

76 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 14:42:34 ]
その代わりスレッドWaitForSingleObject

77 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 15:06:33 ]
普通にCreateFileでハンドル閉じる前にリネームできるけどな
またどうせ変なことでもやってんじゃないの?

78 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 15:09:48 ]
オレも変だなあと思ってリネームしてみたけどエラー出なかった

79 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 16:49:25 ]
>>74
根本的に何か変な雰囲気を感じる。

まず、「」でくくられたエラーメッセージが、
GetLastError()の返す値をFormatMessage()したものとは違うっぽい。

次に、
対症療法的に目先のことばっかり考えていて、
もっと基本的な部分を見落としているような気配がする。

そして、
ファイルを開いていても、ファイル名を変更することはできるのだけど、
それができないと言ってるあたりに、何か重大なことを隠している予感がする。

80 名前:74 mailto:sage [2007/06/16(土) 17:20:10 ]
すいません。原因がわかりました。

CreateFileしているファイルはログをCSV形式で出力するもので、
あるバイナリエディタでも開いており、それが悪さをしていたようです。

つまらない原因で申し訳ありません。

> まず、「」でくくられたエラーメッセージが、
> GetLastError()の返す値をFormatMessage()したものとは違うっぽい。

エラー時のダイアログのタイトル部分です。




81 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 17:36:42 ]
>エラー時のダイアログのタイトル部分
こんなのを手がかりにするべきではない
やるならFormatMessageなりエラー値なり、
ちゃんとAPIのドキュメント読んで、エラーコード等を取得すべきだし、
それを手がかりにして検索なり質問なりすべき

82 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 17:46:27 ]
プログラム側のエラーじゃなくて、リネームをエクスプローラかなんかでやって出た
エラーだったんだろう。

83 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 18:37:24 ]
文字列変換をANSIからTCHARに変換するAPIってないのですか?
プロジェクトの文字セットがunicodeなら、MultiByteToWideCharして
マルチバイトなら無変換

84 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 18:52:30 ]
const char str[] = "ほげほげ";
TCHAR buf[sizeof str];

_stprintf(buf, "%hs", str);

というのはどうだろう。
ロケール指定は必要になると思うが。

85 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 19:08:49 ]
よく意味のわからない質問に答えられるな

86 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 19:11:25 ]
C++でATLを使ってよければATL::CA2Tとか楽

87 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 19:14:43 ]
#ifdef UNICODE
できればいいんじゃね?

88 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 19:18:17 ]
APIにはない

inline とか#ifdef つかって手前で作れって話かと

89 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 21:00:28 ]
皆さん、有難うございます。83です。無いのですか、orz
TEXT(" ")マクロのAPI版を期待しんだすが...
>>84 と >>87の方法を検討したいとおもいます。
>>86 ATLは使ったことがありません。

90 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 21:52:35 ]
>TEXT(" ")マクロのAPI版を期待しんだすが...

なぜ >>83 でそう書かないのか理解に苦しむ



91 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 22:39:51 ]
>>80
> エラー時のダイアログのタイトル部分です。

そのダイアログは誰が出したもの?
>>82の予想通りっぽいけどさ。

変な雰囲気を感じたのは、
主語的なものが抜けていたからだったんだな。

92 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 22:49:32 ]
>>83
Win32APIには、TCHARやLPTSTRやLPCTSTRを受け渡しするものは、ない!
(いや、例外的に何かあったような気もする・・・)
そんなものを渡されても、判別、つかないっしょ。

>>84
オーバーヘッドが問題にならないなら、
それはいいアイデアだ。
_stprintf(buf, _T("%hs"), str);
にすれば使えるね。


93 名前:デフォルトの名無しさん [2007/06/16(土) 22:50:41 ]
【派遣ネガティブ根性チェック】

3つ以上、チェックがつけばアナタの性格はひん曲がっており、
ネガティブ負け組派遣人生を歩んでいます。

□派遣先正社員の作った糞開発ツールはたとえバグだらけでも苦労して使うべきだ
□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□昼食は必ず派遣先の社員と行くべきだ
□派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなくプライベートについてもグイグイ引っ張って欲しい
□奢ってくれる派遣先正社員を尊敬する
□自分の月額金額を知らないのは当然だ、単金を聞いてはいけない
□派遣先正社員より自分の生涯収入が低いのは当然だ
□派遣先に尻尾を振り、かわいがってもらうことが大切だ
□チビは派遣先にかわいがってもらいやすから派遣には有利だ


94 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 22:52:01 ]
>>89
> TEXT(" ")マクロのAPI版

意味が分からない。

マクロはコンパイル時に、ANSIかUnicodeか決まっちゃうのよ。


95 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 00:17:39 ]
GetVersionExというAPIをVB6 EXEから使用していますが、
作成したEXEをプロパティで互換モード(Win95、Win2000等)に設定しても
戻り値(OSのVer番号)は、実行環境のOSのVer値となります。

この現象は、「WinXpSp2」「WinVista」にて確認しましたが、
 @互換モードで実行されているか否か
 AどのOSの互換モードに設定されているか
を知る方法を、ご存じの方は教えてください。

96 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 01:24:48 ]
>>95
ちゃんと変わるけどなぁ(XP SP2で確認)

97 名前:95 mailto:sage [2007/06/17(日) 02:05:14 ]
>>96
ありがとうございます。

こちらは下記コードでもためしましたが、やっぱりだめでした..
ttp://www.bcap.co.jp/hanafusa/VBHLP/Version.htm

98 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 02:11:17 ]
>>97
VBでビルドする度にEXEが新しくなって設定がリセットされている
とか、
VBでEXEを作ってはいるが、VB上から実行していて、EXEを使ってない
とか、
そういうところに盲点あったりしないか?

99 名前:95 mailto:sage [2007/06/17(日) 02:56:06 ]
>>98
そのミスはないです。
ちなみに互換モード設定はEXE更新後も保持されるようです。

Visual C++ 6.0で作成したEXEを、互換モード設定し起動したところ、
設定したOSのVerが、ちゃんとかえってきました。
DLLにしてVBからコールしようと思います。

100 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 08:32:11 ]
使用する言語によって動作が変わるAPIがあったら今頃大騒ぎになってるだろ・・・








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<179KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef