- 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/
- 577 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 22:42:10 ]
- コンパイラはまさかVC6?
- 578 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 22:53:08 ]
- >>571
実測して差が出るかどうかはわからないけど、理屈の上では変換のコストがなくなるので若干良くなる wchar_tにするとboostがイミフなエラー出したりすることもあるけど。。。
- 579 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 23:39:35 ]
- W<->A変換速度についてはダンゴさんの意見を聞きたいところだ
- 580 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 02:52:14 ]
- >>577
VC6現役で使ってるが何か?
- 581 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 02:54:44 ]
- VS2005 で素直にダイアログのフォントを使っています。
9x は切り捨て
- 582 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 03:01:39 ]
- 暮れに突如DLLラッパー書きたくなって2008Express落としたが重すぎ。
VC6探し出してインスコした。 これアカデミック版なんだよなー、歳は食いたくねぇ。
- 583 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 09:11:20 ]
- msdn2.microsoft.com/en-us/library/
しばらく前から検索すると503になるんだが、俺だけか? 左のツリーからは目的のページには行けるんだが、検索できないと面倒でしかたない。
- 584 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 10:31:57 ]
- GetGlyphOutlineの使い方に関する質問です
www7a.biglobe.ne.jp/~lshen/EternalWindows/Graphics/Bitmap/Bitmap14.html ここのサイトのソースで アンチエイリアスを施すフォントにFW_BOLDを指定すると、 このソースではlp[0] = (GetBValue(cr))で例外が発生して、 アプリケーションが落ちてしまいます このソースに手を加えなければ正常に動く様です どの辺りが悪いのでしょうか? よろしくお願いします。
- 585 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 10:39:30 ]
- CreateFont(32, 0, 0, 0, 0,
を CreateFont(32, 0, 0, 0, FW_BOLD, にしたってこと? 落ちないけどなー
- 586 名前:デフォルトの名無しさん [2008/02/19(火) 10:44:04 ]
- 教えてください
GetDesktopWindowでハンドルとって GetDCで デスクトップの画像 取得しているんですが ログイン画面を取るときには たしかモニターの選択か なにかしければならないんですよね? 昔何かで観て、必要になったんだけど 見つからない・・・・ よろしくお願いします
- 587 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 11:46:12 ]
- ウィンドウステーション?
- 588 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 11:58:30 ]
- ウィンドウステーションだったかデスクトップだったか
ログイン画面撮るのは難しそうな気もするけど頑張って下さい
- 589 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 12:02:15 ]
- >>586
スレ違いの回答だけど ログイン画面のキャプチャが欲しいだけなら、VirtualPCとかでOS立ち上げれば良い
- 590 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 13:02:05 ]
- >>585
はい、その通りです 落ちませんか... もう一度、一から確認し直してみます ありがとうございました
- 591 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 14:07:52 ]
- エディットコントロールのカーソルが何行目かしりたいのですが
どうすればよいでしょうか? あと今表示されている一番上と一番下が何行目か知るには どうすればよいでしょうか?
- 592 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 14:50:25 ]
- >>586>>588
XPまでならサービスで作っておけばできなくもない。 しかしVistaから実現は厳しくなった。
- 593 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 14:53:11 ]
- >>591
カーソル位置は、EM_LINEFROMCHAR 表示のほうは、EM_CHARFROMPOS とかでどうかなあ
- 594 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 14:55:06 ]
- あ、表示は行位置か。EM_CHARFROMPOS と EM_LINEFROMCHAR の組み合わせだな。
- 595 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 17:20:22 ]
- c:\foo.txt, c:\bar.bmpといった存在するファイルのパスを渡すと
Explorerで表示されるアイコンと同じイメージを取得できる関数ってなんですか?
- 596 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 17:30:36 ]
- SHGetFileInfo でした
- 597 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 17:57:58 ]
- >>591
EM_GETFIRSTVISIBLELINE等々 っていうか、ヘルプのEM_で始まるメッセージは全部チェックしる
- 598 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:52:56 ]
- >>592
セッション0、か
- 599 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:00:33 ]
- 質問です
ttp://wisdom.sakura.ne.jp/system/winapi/win32/win13.html ここのサンプルプログラムをVC++2005EEでコンパイルしてみたところ MessageBoxを呼び出すところで error C2065: 'LlpcsWnd' : 定義されていない識別子です といわれコンパイルできません どうも宣言した変数がlpcsWndなのにLlpcsWndと認識されてしまってるみたいです ためしにTEXTマクロの中身以外のlpcsWndをLlpcsWndと修正してみたところ コンパイルに成功し、実行できたのですがこんな修正をせずとも コンパイルを成功させ実行させる方法とかはありませんか? ひょっとしたらスレ違いかもしれませんがよろしくおねがいします
- 600 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:04:23 ]
- >>599
>>463
- 601 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:05:50 ]
- >>599
>TEXT(lpcsWnd->lpszName) TEXT( ) いらないよそこ
- 602 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:06:12 ]
- >>599
ShiftJIS でおk ってかサイトの方が TEXT マクロの使い方を間違ってる
- 603 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:12:59 ]
- >>600-602
早い返答ありがとうございます TEXTマクロの使い方が間違っている・・・ですか まずはネットで大まかにやった後本を買って足りないところを補おうと考えていたのですが やっぱり一冊は買っておくべきですね・・・
- 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]でも使ってれば?
|

|