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


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

Win32API質問箱 Build62



1 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 02:40:03 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。

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

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

- Win32API質問箱 wiki
wiki.livedoor.jp/program1/d/FrontPage

【前スレ】
61 ttp://pc11.2ch.net/test/read.cgi/tech/1199514664/

604 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:29:54 ]
こういうサイトに載ってるコードって、無意識的に正しいと思っちゃうよね。

605 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:52:14 ]
その考えは危険

606 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 03:12:04 ]
MSのサンプルでも偶に間違ってるしな

607 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 03:12:59 ]
モーダルダイアログのプロシージャ内で、
親ウインドウのハンドル(DialogBoxのhWndParentに渡したハンドル)を知るにはどうしたらいいですか?
GetParentとかGetAncestorとかGetWindowとか試したんですが、どれも違うようです。

608 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 03:27:44 ]
GetWindowLongPtr()

609 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 10:01:25 ]
>>604
まあいくらなんでも、実際にコンパイル、実行してると思うわな

610 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 10:14:53 ]
>>587,588
徹夜明けで返事が遅れてしまいました
ヒント頂いてありがとうございます。
これからがんばってみます

611 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 10:47:09 ]
>>606
ttp://watch.impress.co.jp/game%2Fdocs/20070927/wv.htm
この記事おもいだした

612 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 12:25:40 ]
>>609
tchar の型によっては全く問題なくコンパイルできる



613 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 12:25:54 ]
サンプルコードはとりあえずAPIが正常終了返す条件を教えてもらう程度にしか見ないほうがいいよな。


614 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 12:31:53 ]
>>612
あーそっか。

615 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 14:35:06 ]
C言語を初めて覚えるのに「猫でも」で痛い目を見たから
どこのサンプルでも一行ずつチェックして確かめてるわ。

616 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 16:34:14 ]
ある文字列stringを描画したときに一定の幅にstringの何文字目まで収まるかを知りたいんだけど、
プロポーショナルフォントも考慮した場合GetTextExtentPoint32()あたりで1文字ずつ
のばしていくしか方法無いかな?
要はテキストの折り返し処理をしたいんだけど、↑の方法だと行数が多いときに遅くなっちゃって。


617 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 16:43:26 ]
無いと思う

618 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 16:45:52 ]
GetTextExtentExPointってのはどう?

619 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 16:48:16 ]
>>616
>ある文字列stringを描画したときに一定の幅にstringの何文字目まで収まるかを知りたいんだけど
DrawTextEx を DT_SINGLELINE で呼び出して、DRAWTEXTPARAMSのuiLengthDrawnを見る。

620 名前:616 mailto:sage [2008/02/20(水) 17:28:18 ]
GetTextExtentExPointとDrawTextExググってみた感じどっちでもいけそうだな。
つか、レス早すぎだろwその知識はうらやましいわ。
ホントありがとう。

621 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 01:07:55 ]
>DT_SINGLELINE
童貞シングルライフと読めて泣いた

622 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 01:23:10 ]
>>621
どんだけ煮詰まってるんだw



623 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 02:14:00 ]
つまんね

624 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 02:40:40 ]
じゃあ死ねよ

625 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 03:06:50 ]
はあ?

626 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 03:08:48 ]
こういう出来ないばっか言う馬鹿女キライ

627 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 03:09:14 ]
ハイ、すいません
ゴバクが通りますよ

628 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 03:10:51 ]
自然な流れに吹いた

629 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 06:02:16 ]
ワロタ ほんとに誤爆なのか

630 名前:デフォルトの名無しさん [2008/02/21(木) 07:41:00 ]
InterlockedExchange関数の使い方、使うメリットを
解りやすく教えてください。
コレを使うと複数プロセスでのメモリアクセスの競合を保護できる?
らしいのですが、イマイチ解りません。

631 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 09:30:31 ]
解かりやすく、と言われても
「同期オブジェクト」の仕組みを理解していないと伝わらないし、理解すれば解かるような……
使い方もメリットもここに書いてある。
 短時間でできる汎用の同期オブジェクト
 msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdndllpro/htm/metrsect.asp

読むのは、「アトミック」、「スピンロック」、「デッドロック」、この3つの意味を正しく理解してから。
一度読んで終わらず何度も読めば良いと思うよ。
仕様を読んだうえでイマイチ解からないところを「ここは何故」と聞きに来ればいい。

同期オブジェクトの解説サイトは沢山あるから検索してみ。

632 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 09:33:38 ]
>>630
使い方・・・ねぇ
例えば LONG 変数があったとして、
LONG x;
この値を普通に操作すると、スレッド間で競合が起きるだろ?
BOOL Lock() {
 if (x == 0) { x = 1; return true; }
 else { return false; }
}
void Unlock() {
 x = 0;
}
InterlockedExchangeを使えば、そういった問題は起きない
BOOL Lock() {
 if (InterlockedExchange(&x, 1) == 0) { return true; }
 else { return false; }
}
void Unlock() {
 InterlockedExchange(&x, 0);
}
こんな例でわかるかなぁ・・・



633 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 09:37:04 ]
あー>>631の追記、
もし同期オブジェクトの解説サイトを読むときは、
日経BP(ITPRO)の解説の一部は人に薦めるようなものではないので
参考にする場合は気をつけて。

634 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 11:57:19 ]
>>631
Interlocked系は同期オブジェクトじゃないだろ……

635 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 15:17:25 ]
GDIのAPIってスレッドセーフなんでしょうか?
極端な例をいえば、1つのHDCの上半分・下半分を2スレッドでSetPixel()していくなど。
HDCへの描画は領域が被らない場合にスレッドセーフか?といったほうがいいのかな。

636 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 15:23:41 ]
safe

637 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 16:34:47 ]
任意のDPI値を持つメモリDCを作成するには、
どのような関数を使えばよいのでしょうか?

CreateCompatibleDC(NULL)で作成したものだと、
GetDeviceCaps(LOGPIXELSX)の値はモニタのDPI値のままになってしまいます。

638 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 16:48:05 ]
ファイル名が変更されたりアプリやOSが再起動されたりしても
常に同じファイルを参照できる方法を探しています.

FATをあきらめてNTFSに限定すれば
GetFileInformationByHandle()の戻り値のBY_HANDLE_FILE_INFORMATIONに含まれる
nFileIndexHighとnFileIndexLow(とdwVolumeSerialNumber)が
ファイルのIDとして使えるようです.

しかし,逆にこれらの情報をもとにファイルを取得する方法がわかりません.
どなたかご教示お願いします.

639 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 17:14:33 ]
OpenFileByIdってのがあるみたいだけど
Requires Windows Vista. って書いてあるなぁ
msdn2.microsoft.com/en-us/library/aa365432(VS.85).aspx
Win32 FileID API Library っての使えばXPでも使えるようになるのかな
よくわからん

640 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 17:31:12 ]
NTFSならApp Dataフォルダーにでもハードリンクなファイル作れば?

641 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 19:34:30 ]
>>638
それって、例えばc:\abc.binを上書きするのに
c:\abc.tmpを作成→c:\abc.binを削除→abc.tmpをabc.binにリネーム
とかやるソフトだとファイルIDが変わると思うけど

642 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 21:43:42 ]
なんか似たような話が書いてあった
www.atmarkit.co.jp/fwin2k/keyword/linktracking/linktracking.html



643 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 02:20:04 ]
ショートカットファイルの自動追跡を利用したらどうかね?
Resolve()とかいうメソッドがあったような

644 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 04:11:41 ]
そんな物アテになるかよ

645 名前:デフォルトの名無しさん [2008/02/22(金) 09:37:07 ]
フォントのプレビュー画面を作成しているのですが、
フォントの言語によってサンプルの文字列を変更しようと思います。
日本語フォントなら日本語の文章を、欧文フォントなら英語の文字列といった具合です。
そのフォントのデフォルトの言語のようなものを得るにはどうしたらよいですか?

646 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 12:37:34 ]
エディットボックスの現在のカーソル位置の段数調べたいんですが
SendMessage(ハンドル名, EM_LINEFROMCHAR, -1, 0);
この使い方であってますか?
なぜか数字が合わないです。

647 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 12:49:24 ]
何が返ってくるん?

648 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 13:53:03 ]
いくつを期待していくつになるんだよ。
最初の行は0だからな。

649 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 14:42:59 ]
>>647 <<648
申し訳ないです。
自分のミスです^^;

すいません、もうひとつ質問なんですが、
SetScrollInfoをつかってウインドウにスクロールバーを設置していますが
ウインドウにツールバーが重なっていてるのですがスクロールバーの幅
を調節する方法はあるのでしょうか?

650 名前:649 mailto:sage [2008/02/22(金) 14:46:03 ]
訂正
ウインドウにツールバーとスクロールバーを設置しています。
ところがツールバーの上にスクロールバーが重なっています。
スクロールバーの幅を調節する方法はあるのでしょうか?

651 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 14:56:46 ]
2時間画面の前で待ってたんだぞ。何かよこせ

ツールバーもエディットボックスもメインウィンドウの子なんでしょ?
エディットを親にしてスクロールバー作れば重ならないはず

652 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 14:56:47 ]
妙なことするより、ツールバーに重ならないように子ウィンドウ作った方が楽かと



653 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 17:49:39 ]
>>651
つ I  これやるよ。

654 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 01:18:09 ]
>>651
申し訳ないです。 ^^;
ウインドウに段数をペイントで書いていまして、
ウインドウに書かれた段数の横にエディットコントロール
を貼り付けています。そしてウインドウのスクロールバー
でエディットコントロールのスクロールを連動させています。

>>652
子ウインドウにエディットコントロールは貼り付けられますか?

655 名前:デフォルトの名無しさん [2008/02/23(土) 20:00:44 ]
WindowsでスプールファイルにEMFがあります。このファイルを元にし
て、印刷しますがこのファイルを解析して、実際に紙に印刷される意味
のあるデータを取得すると言う事は出来るのでしょうか? 

RAWに関しては、解析して意味のあるデータを取得した事はありますが、
EMFに関しては良く分かりません。Windows XPの環境です。初心者です
が、宜しくお願いします。



656 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 20:25:07 ]
>>655
これかなたぶん?
msdn2.microsoft.com/en-us/library/ms534514(VS.85).aspx

657 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 20:57:42 ]
Windows VistaでBeep関数を呼び出しても音が鳴りません。
何か仕様変更等あったのでしょうか。

658 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 20:58:33 ]
EnumEnhMetaFileだろjk

659 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 21:32:15 ]
VC++6.0、SDKでEDITボックスにドラッグアンドドロップしてファイル名を取得したいのですが
DragAcceptFiles(::GetDlgItem(hWnd, IDC_EDIT1), TRUE);
とやってもWM_DROPFILESのメッセージが拾えないです。
リストボックスに同様なものをしたら拾えたのですが
EDITは特殊なのですか?


660 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 22:11:35 ]
>>659
エディットボックス
(というより自分自身がウィンドウプロシージャを握っていないウィンドウ)
のメッセージを受け取ろうとしているのだから、サブクラス化しないと。

661 名前:デフォルトの名無しさん [2008/02/23(土) 22:53:06 ]
>656 有り難う。しかし、日本語でないと良くわからん。日本語のサイトは無いのだろうか?

662 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 23:11:47 ]
>>661
>>658



663 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 00:30:42 ]
>>660
レスサンクス
調べてみる

664 名前:デフォルトの名無しさん [2008/02/24(日) 01:23:34 ]
作成したexeファイルと同フォルダにヘルプファイルを置いているので、
GetModuleFileName()を使って、パスを取得する処理を入れているのですが、
起動時にこの関数でエラーになってしまいます。
で、GetLastError()を使うとエラーコードは24とのこと。
エラーコード24は「プログラムがコマンドを発行しましたが、コマンドの長さが正しくありません。」らしいのですが、
これは何が理由でエラーとなっているのでしょうか。。


665 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 01:30:16 ]
まずは自分コードを疑おう

666 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 01:48:07 ]
プロセスにマップされたものでないならエラーになるに決まってるだろ

667 名前:666 mailto:sage [2008/02/24(日) 01:50:32 ]
やるんならGetCurrentDirectory使うか
INIとか設定ファイルなんかに持たせるとか
そういうのでいいんでね?

668 名前:664 mailto:sage [2008/02/24(日) 01:53:59 ]
>>665
もちろん自分のコードを疑っているんですが、
その取っ掛かりが欲しくて。
このエラーコードの意味やどういった時に起こるものなのかがわかれば、
どこから目を付ければいいかわかるかなと思ったんですが。

>>666
すみません。
プロセスにマップという意味がよくわかっていませんが、
要は、自exeファイルがあるパスを取得するには、
ただ単にGetModuleFileName()を呼び出すだけではダメだ、ということでしょうか?



669 名前:664 [2008/02/24(日) 02:20:23 ]
>>667
ありがとうございます。
いま作ってるのが常駐するやつでして、
GetCurrentDirectory()もやってみたのですが、
常駐アプリの場合だと、C:\Document and Settings\[User Name]\
が返るみたいでした。


670 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 02:38:56 ]
>>667
おいおいGetCurrentDirectoryとか嘘を教えるなよ
カレントディレクトリ≠exeのディレクトリだと誤作動するアプリの元凶だろ

>>669
GetModuleFileName→(PathRemoveFileSpec)→PathAppend

671 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 02:44:31 ]
その exe を他のディレクトリに移してみてから実行したら
どうなるかは試してみた?。
GetModuleFileName の使い方に問題がなければ
アクセス権や MAX_PATH とかの問題じゃない?

672 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 02:48:10 ]
ずるずる引っ張るぐらいなら最小コードをうpしたほうが早い



673 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 08:33:51 ]
最小コードも何も、>>670に書いてある3つのAPI名でググればすぐに見つかるだろ
その程度の検索も出来ないような奴はプログラマには向いてない

674 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 09:00:40 ]
知りたいのはヘルプの位置じゃなくて、GetModuleFileNameがエラーを返す理由でないの?
PathAppend とかぐぐってどうすんの。

675 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 09:02:39 ]
DWORD GetModuleFileName(hinstModule, lpszPath, cchPath)
戻り値
関数が正常に終了した場合は、 バッファにコピーされた文字列の文字数を返します。
それ以外の場合は、 0を返します。拡張エラー情報を取得するには、 GetLastError関数を使います。

676 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 09:08:57 ]
ずるずる引っ張るぐらいなら最小コードをうpしたほうが早い

677 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 09:19:44 ]
もうさ、__argv[0]でも使ってれば?

678 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 09:22:54 ]
#include<windows.h>
#include<stdio.h>

int main(void){
char filename[_MAX_PATH];

GetModuleFileName(NULL, filename, sizeof(filename));
printf("%.*s\n", sizeof(filename), filename);

return 0;
}

>>676 何故自分で貼らない?質問者か?
>>675 で分からないなら MSDN ダウンロードしなよ 無料だから

679 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 09:25:35 ]
やっぱ勘違いしてたか。最小コード貼れってのは、質問者に言ってるんだよ。
エラーを再現できる最小限のコードを出せってな。

680 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 09:30:44 ]
672は誤解されてしまったようで申し訳ない
解決方法は、もちろん示されたAPIをググってコード見直せばOKなんだ
エラー原因もそれで解決するはずなんだが、それができないのなら晒したら? という話

681 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 09:39:43 ]
> GetModuleFileName(NULL, filename, sizeof(filename));
今時こんなコード書く糞プログラマは偉そうな事言えんぞw

682 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 09:58:06 ]
普通誤解しないから



683 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 10:06:58 ]
>>678
そんなヘドロみたいなコード貼るな

684 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 10:26:50 ]
>>681
横レスですまないが、素人目にはどこが悪いかわからない。
sizeof(filename)/sizeof(char)としないとUNICODEビルドで問題が出るのかな。

685 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 10:35:55 ]
DWORD GetModuleFileName(HMODULE, LPTSTR, DWORD);

686 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 10:43:13 ]
今は一々URLDownloadToFileで手元にファイルを保存→ファイルを開いて読み込む→
処理→ファイルを消す。ってやってるんだけど、ファイルとして保存しなくても
直接ネット上から読み込む。みたいなスマートな方法ってありませんか?

687 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 10:46:49 ]
普通にソケットを使えばいいだろ

688 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 10:49:03 ]
InternetReadFile

689 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 11:18:04 ]
>>687-688
ありがとう。調べてみたら何となく分かった

690 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 13:52:58 ]
なんかフルボッコなので書き直した
#include<windows.h>
#include<stdio.h>
#include<wchar.h>
#include<tchar.h>

#define NITEM(arr) (sizeof(arr)/sizeof(arr[0]))

int _tmain(void){
TCHAR filename[_MAX_PATH];

GetModuleFileName(NULL, filename, NITEM(filename));
_tprintf(TEXT("%.*s\n"), NITEM(filename), filename);

return 0;
}

691 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 14:11:01 ]
Win32ならRTL_NUMBER_OFかARRAYSIZE使おうぜ。

と書こうとヘッダ見てたら、いつの間にかRTL_NUMBER_OF_V2が増えてる。
こっちはC++専用ながら、ポインタだとコンパイル通らないのか。

692 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 14:26:20 ]
このスレ用のwikiなんてあったんだな
どういう経緯で作られたの? まったく更新されてないようだけど



693 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 14:31:53 ]
V2 というネーミングセンスに吹いたw

694 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 15:02:08 ]
>>692
更新されてないどころか内容も無いし次からテンプレから消してもいいかもな

695 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 15:50:16 ]
>>690
まだまだ叩かれる余地がある。
ttp://msdn2.microsoft.com/en-us/library/ms683197.aspx

まず、2k/XPでは、ファイルパスがMAX_PATHより長かった場合、NULL終端されない。
MAX__PATHより長かった場合、\\?\を使った長いファイルパスを返す。
したがって、filename配列は32000ぐらい確保すれば安全だ。

あと、NTIMEなんていう汚いマクロ使うな。

696 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 15:56:29 ]
NULL終端はされるんじゃないか?
>the string is truncated to nSize characters including the terminating null character.
「null 文字も含め nSize 文字分に切り捨てる」でしょ?

697 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:04:58 ]
Windows XP/2000: The string is truncated to nSize characters and
is not null terminated.
~~~~~~~~~~~~~~~~~~~~

698 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:11:25 ]
あ、本当だ。失礼しました

699 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:20:22 ]
>The global variable _pgmptr is automatically initialized(略)
身も蓋もないとはまさにこのこと(w

700 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:22:52 ]
そもそも_MAX_PATH(アンダースコア付き)なんてWin32APIで使う物では無かろう

701 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:45:36 ]
動けばいいじゃん
こういうどうでもいいとこをグチグチ言ってくる奴多杉

702 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:51:39 ]
お前アホだろ
特定の状況でまともに動かないからレスがついてんだろうが



703 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:51:54 ]
>>701
お前みたいな思想を持つ奴が、Windowsのバージョンアップ程度で、動かなくなる糞コードを書く。

704 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:56:12 ]
偉そうなことを言う奴に限ってコードの出し惜しみ(というかかけない)とか
ちょっとレベルの高い話になると何も答えられないんだよな。







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

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

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