■過去ログ置き場に戻る■ 1- 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

Win32API質問箱 Build37
1 名前:東トルキスタンと言ってみるテスト :2005/11/13(日) 21:29:51
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんたちが答えてくれるかも。

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

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

2 名前:デフォルトの名無しさん :2005/11/13(日) 21:31:29
-過去スレ
36 http://pc8.2ch.net/test/read.cgi/tech/1128951330/ (すまん。1に書き忘れた)
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/


3 名前:デフォルトの名無しさん :2005/11/13(日) 21:32:53
32 ttp://pc8.2ch.net/test/read.cgi/tech/1117271829/
31 ttp://pc8.2ch.net/test/read.cgi/tech/1114762194/
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
ttp://pc5.2ch.net/tech/kako/1044/10449/1044929160.html
ttp://pc5.2ch.net/tech/kako/1040/10409/1040964626.html
ttp://pc3.2ch.net/tech/kako/1036/10366/1036654893.html
ttp://pc3.2ch.net/tech/kako/1032/10325/1032548635.html
ttp://pc3.2ch.net/tech/kako/1028/10285/1028580373.html
ttp://pc3.2ch.net/tech/kako/1023/10233/1023361418.html
ttp://pc.2ch.net/tech/kako/1017/10170/1017072275.html
ttp://pc.2ch.net/tech/kako/1006/10067/1006783012.html
ttp://pc.2ch.net/tech/kako/991/991576947.html

4 名前:デフォルトの名無しさん :2005/11/13(日) 21:36:05
- MSDN Online
http://www.microsoft.com/japan/msdn/
- 猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
- Platform SDK Update
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
- Google
http://www.google.com/

- Windows® Server 2003 SP1 Platform SDK Full Download
http://www.microsoft.com/downloads/details.aspx?familyid=EBA0128F-A770-45F1-86F3-7AB010B398A3&displaylang=en
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm

Win32 API入門
http://wisdom.sakura.ne.jp/system/winapi/
Win32 プログラミング入門
http://www7.plala.or.jp/keny01/windows/win32/
Win32 SDK Programming
http://usr_vogel.at.infoseek.co.jp/Win32SDK/

- 書籍
Advanced Windows
http://www.amazon.co.jp/exec/obidos/ASIN/4756138055

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

5 名前:デフォルトの名無しさん :2005/11/13(日) 23:13:03
  ∧_∧
 ( ´∀`) < 0x25

6 名前:デフォルトの名無しさん :2005/11/14(月) 00:07:10
>マルチメディアタイマーは割り込みじゃなくてコールバック。
>詳しくは知らないが、>>995みたいなビジーループ回してるんじゃないかな?
CPU1つしかないのにビジーループでなんてどうやってまわすの?
そんなことやったら、精度が10msで測ったらどっかで止まるよね?

7 名前:デフォルトの名無しさん :2005/11/14(月) 00:13:38
>>6
そのようなことを不思議に思うのであれば、
OSがms単位以下で各スレッドにタイムスライスを分配することも不思議に思うべきではないか?


8 名前:デフォルトの名無しさん :2005/11/14(月) 00:17:58
>>7
だから、やってねぇんだよ、そんなことは。
ビジーループでなんてまわしてねぇの。

9 名前:デフォルトの名無しさん :2005/11/14(月) 00:26:11
あるフォルダ内のファイル名をパス付きでリストとして得たいのですが、どの辺
のAPIを調べたら良いでしょうか?

10 名前:デフォルトの名無しさん :2005/11/14(月) 00:33:09
>>9
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_findfirstfile.htm
でいい希ガス

11 名前:デフォルトの名無しさん :2005/11/14(月) 00:35:15
>>9
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_findnextfile.htm
これも使ったような希ガス

12 名前:デフォルトの名無しさん :2005/11/14(月) 00:36:17
>>6
ビジーループの話なら、回せるからプリエンプティブマルチタスクって言うんだよ。
マルチメディアタイマーの話は、書いた通り、詳しくは知らん。知ってる奴解説よろ。

13 名前:デフォルトの名無しさん :2005/11/14(月) 00:37:05
>>9
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_getfileattributes.htm
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_setfileattributes.htm
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_findclose.htm
これとこれとこれもいる希ガス

14 名前:デフォルトの名無しさん :2005/11/14(月) 00:37:43
>>12
それって見た目の話でしょ?

15 名前:デフォルトの名無しさん :2005/11/14(月) 00:39:47
>>14
そうだね。
結局、OSレベルでの実装じゃその切り替えもメッセージでやるしかない。

16 名前:デフォルトの名無しさん :2005/11/14(月) 00:41:50
>>14
は?

1CPUで本当の並列処理しないと「プリエンプティブ」でないと言うつもりなら、
世の中にはプリエンプティブマルチタスクなOSは存在しないないことになるんだが?

17 名前:デフォルトの名無しさん :2005/11/14(月) 00:45:05
>>16
いやいや、プリエンプティブかどうかってところは争ってないでしょ?
よく読まないと無駄な論争することになるよ。

18 名前:デフォルトの名無しさん :2005/11/14(月) 00:45:07
メッセージ厨が湧いているようだな(w
CriticalSectionやらFiberやら知らんのだろうな、こういう厨は。

19 名前:デフォルトの名無しさん :2005/11/14(月) 00:47:45
>>17
すまん、さっき酒入れたもんで。
メッセージ経由だとマルチメディアタイマーの精度が生きない気がするけどなあ。
まあエロイ人に任せて寝る。

20 名前:デフォルトの名無しさん :2005/11/14(月) 00:48:53
>>19
>マルチメディアタイマーの精度が生きない気がするけどなあ
で、実際生きてねーじゃんw
どないなっとんねん>MS
って話なわけよw

21 名前:デフォルトの名無しさん :2005/11/14(月) 00:54:04
>>20は本物の厨なのか・・・。哀れになってきた。

22 名前:デフォルトの名無しさん :2005/11/14(月) 00:56:07
マルチメディアタイマとWM_TIMERタイマの区別ができてない人が滞在するスレはここですか?

23 名前:デフォルトの名無しさん :2005/11/14(月) 00:56:12
とりあえずマルチメディアタイマで検索して
ttp://www.sm.rim.or.jp/~shishido/mmtimer.html
を読んでみたぞ
どうやら1ms以下でも計測できるらしい
マイクロ秒単位まで測れるとかも書いてるぞ

24 名前:デフォルトの名無しさん :2005/11/14(月) 01:00:47
20は何を言ってるんだ?
マイクロ秒まで測れるなら十分だと思うが

25 名前:デフォルトの名無しさん :2005/11/14(月) 01:09:49
いや、パフォーマンスカウンターはタイマじゃないから。

26 名前:デフォルトの名無しさん :2005/11/14(月) 01:12:42
マルチメディアタイマに対応してないマザーボードは多いから
配布するソフトには向いてないね

27 名前:デフォルトの名無しさん :2005/11/14(月) 01:50:37
>>26
今世紀に出たマザーで対応してないのあったら、1つでいいから
実例を挙げてくれ。

28 名前:デフォルトの名無しさん :2005/11/14(月) 02:15:25
まあしかし、いずれにしろ現在時刻を_やμ秒の精度で取得するのは無理ってことだな。

29 名前:デフォルトの名無しさん :2005/11/14(月) 02:24:11
よし、じゃあナノ秒で取得しよう

30 名前:デフォルトの名無しさん :2005/11/14(月) 02:39:59
エロゲープログラマの権威はポーリングをすすめてたよ

31 名前:デフォルトの名無しさん :2005/11/14(月) 06:49:47
>>23
でも、実際そんなことできてないじゃん。
やってみ?できないから。

32 名前:デフォルトの名無しさん :2005/11/14(月) 07:24:05
だとしてもその理由はマルチメディアタイマがメッセージベースだからではない

33 名前:デフォルトの名無しさん :2005/11/14(月) 07:25:20
( ゚д゚)ポーリング

34 名前:デフォルトの名無しさん :2005/11/14(月) 07:35:06
何だか時刻計取得と、定周期実行の話が混ざってるような。

35 名前:デフォルトの名無しさん :2005/11/14(月) 08:12:52
おまいらまだやってたんかい

36 名前:デフォルトの名無しさん :2005/11/14(月) 08:16:41
>>30
誰だよ、それ

37 名前:デフォルトの名無しさん :2005/11/14(月) 09:21:05
ちょっと質問なんですが、WinAPIで文字列を表示するときに

LPTSTR ctStr = TEXT("あいうえおabcかきくけこdefさしすせそght");
DrawText(hdc , ctStr , -1 , &rect , DT_CENTER | DT_WORDBREAK );

でも

char *ctStr = TEXT("あいうえおabcかきくけこdefさしすせそght");
DrawText(hdc , ctStr , -1 , &rect , DT_CENTER | DT_WORDBREAK );

でも、クライアントエリアに表示されるのはどちらもきちんと 

あいうえおabcかきくけこdefさしすせそght

と表示されます。

自分の認識としては、char*で表示させると2バイト文字は文字化けしてでると思っていたのですが
どうしてきちんと表示されるのでしょうか?

もしどちらでもいいのであれば、LPCTSTRなどの存在する意味が分からないのですが…。 

38 名前:デフォルトの名無しさん :2005/11/14(月) 09:33:01
>>37
_UNICODEやUNICODEを#defineしてない場合はその二つは同じ物だ
同じ結果になるのは当たり前

char型がそもそも文字を扱うための型なのだから、それで文字化けしたらおおごとだよ

charはシングルバイト文字を扱うための型で、それ以上でもそれ以下でもない
一方LPCTSTRは、プリプロセッサの定義でchar*型とwchar_t*型のどちらかになる
char *ctStr = TEXT(" ")としていて、UNICODEを使おうとした場合型が違うとエラーが出るが
LPCTSTR ctStr = TEXT(" ")とすれば、UNICODEでもANSIでもエラー無く使える
汎用性の問題だな

39 名前:デフォルトの名無しさん :2005/11/14(月) 09:37:52
wide character stringはstrのn文字目にアクセスするのに常にstr[n]でいけると思ってるような、
一生multi byte character stringなんか目にすることのない馬鹿な欧米人プログラマでも多言語
対応プログラムが書けるようにするためにある。

40 名前:デフォルトの名無しさん :2005/11/14(月) 10:13:09
38,39さんどうもです。

すみません。UNICODEで書くとは具体的にどういったことをいうのでしょうか。
#define UNICODEとすれば、TEXT("")の文字列は全てUNICODEになるという解釈でよろしいのですか?
例えば、<window.h>の上に#define UNICODEとすれば、文字列は全てUNICODEとして扱われる
といったかんじなんでしょうか。

あと汎用的ということなのでVC++使ってみました。
しかしながらPCTSTR ctSrt = TEXT("")でビルドすると
PCTSTRは定義されていません。とエラーが出ます。

インクルードファイルは、<windows.h>と<stdio.h>の二つです。
<window.h>でPCTSTRは通ると思ったのですが、これはUNICODEの定義と何らかの関係があるのでしょうか。
ヘルプにはPCTSTRはUNICODEが定義してあると、PCWSTRそうでないとPCSTRになると解釈したのですが…。


41 名前:デフォルトの名無しさん :2005/11/14(月) 12:17:36
SetFocus(hwnd)命令についての質問です。
この命令は、既にhwndにフォーカスがある場合はWM_SETFOCUSメッセージを生成しない
のでしょうか。検証しているプログラムの挙動を見る限りそうではないかと思うのですが、
MSDNライブラリ等にはそのような記述が見あたりませんでした。よろしくおねがいします。

42 名前:デフォルトの名無しさん :2005/11/14(月) 12:18:02
現在ソケットプログラム勉強中なのですが、ローカルなネットワーク(192.168.0.XX)のような
のではなく、グローバルなネットワーク(インターネット側から見たアドレス)を取得したいのですが、
解決方法をどなたかご存知ありませんか。自分のアドレスをインタネット側からみたIPアドレスを知りたいのですが。。
環境はVC.net + SDKです。

43 名前:デフォルトの名無しさん :2005/11/14(月) 12:28:18
>>40
アホすぎる
掲示板で説明するのは面倒すぎるから本でも探して自分で勉強しろ

44 名前:デフォルトの名無しさん :2005/11/14(月) 12:30:45
ルータ等でNAPTのようなアドレス変換を行っている環境の話ならインターネット上のホスト(ex.確認君)に聞くか、さもなくば変換を行っているルータ自身に聞くしかない。

45 名前:デフォルトの名無しさん :2005/11/14(月) 12:46:12
>>44
返信ありがとうございます。
たとえば、インターネット側にあるサーバー(http://○○○.ne.jp)とかならサーバーに繋いだ際、
クライアント(インターネット側)アドレスは知る命令はご存知ありませんか。初歩的な質問ですみません。

46 名前:デフォルトの名無しさん :2005/11/14(月) 12:50:03
>>44
うわ・・。すみません。わかりました。。
ちょっと記憶が混乱してるみたいです。listen関数のアドレスもらえばいいだけですね。。
すみません。。

47 名前:デフォルトの名無しさん :2005/11/14(月) 13:15:15
>>42
UPnP

48 名前:デフォルトの名無しさん :2005/11/14(月) 13:36:04
>>43
すみませんでした。あきらめたいと思います。

49 名前:デフォルトの名無しさん :2005/11/14(月) 14:00:18
諦めるようじゃそもそもだめだな

50 名前:デフォルトの名無しさん :2005/11/14(月) 15:48:45
すみません、ファイル一覧に関してです。

任意のディレクトリに存在する、ファイルの一覧(サブディレクトリなども含んでも良い)を取得したいのですけど。
MSはこのような要求を満たすAPIは提供しているのでしょうか

51 名前:デフォルトの名無しさん :2005/11/14(月) 15:49:41
>>9-13

52 名前:デフォルトの名無しさん :2005/11/14(月) 15:50:35
あらやだorz

53 名前:デフォルトの名無しさん :2005/11/14(月) 18:18:10
質問です。

文字の選択後に右クリックで、以下の部分に自作のアプリを埋め込んで選択肢に入れたいのですが
ググル先生やMSDNでAPIを調べてもとんと分かりません。調べる単語がわからないので助けて下さい

切り取り
コピー
貼り付け
すべて選択
----------
ぬるぽ
Google検索

54 名前:デフォルトの名無しさん :2005/11/14(月) 18:24:36
レジストリで設定するのかな?

55 名前:デフォルトの名無しさん :2005/11/14(月) 18:32:53
只のTrackPopupMenue()なら作れるんだけど

56 名前:デフォルトの名無しさん :2005/11/14(月) 18:38:51
Menue

57 名前:デフォルトの名無しさん :2005/11/14(月) 18:39:46
nるぽ

58 名前:デフォルトの名無しさん :2005/11/14(月) 18:41:13
ググル先生はどうやってIEのMenueをいじったのか教えてください

59 名前:デフォルトの名無しさん :2005/11/14(月) 18:43:19
        ぬるぽワッショイ!!
     \\  ぬるぽワッショイ!! //
 +   + \\ ぬるぽワッショイ!!/+
                            +
.   +   /■\  /■\  /■\  +
      ( ´∀`∩(´∀`∩)( ´ー`)
 +  (( (つ   ノ(つ  丿(つ  つ ))  +
       ヽ  ( ノ ( ヽノ  ) ) )
       (_)し' し(_) (_)_)

60 名前:デフォルトの名無しさん :2005/11/14(月) 18:53:18
>>53
何の文字列を選択して右クリックなんだ?

自作アプリで表示してる文字列なら自分で出す必要があるし、
そうでないならそのアプリ次第。
一般的な方法なんてない。

61 名前:デフォルトの名無しさん :2005/11/14(月) 19:00:12
>>60
.htmlをInternet Explorerで開いたときの、反転した文字列でつ

62 名前:デフォルトの名無しさん :2005/11/14(月) 19:11:14
諦めろ

63 名前:デフォルトの名無しさん :2005/11/14(月) 19:15:11
>>60
レスありがとうございました。
IEはやめときます。猫でも〜のテキストエディタでtryしてみます

64 名前:デフォルトの名無しさん :2005/11/14(月) 19:44:46
質問させてください。

ポップアップメニューを表示する際に、状況によって
メニューの文字列の一部を置き換えたいと思っています。
例えば %1を削除 → ファイルAを削除 のように。

現在、ON_UPDATE_COMMAND_UI() と CCmdUI を用いていますが、
元の文字列を取得するメソッドがありません。
CCmdUI::m_pMenu を使おうとしましたがこれは NULL になっていました。

これを実現するにはどうするのが正しいのでしょうか。


65 名前:デフォルトの名無しさん :2005/11/14(月) 19:49:05
自分で設定したものなのに自分で分からないとはこれ如何に

66 名前:デフォルトの名無しさん :2005/11/14(月) 19:53:41
どうしようもないな

67 名前:デフォルトの名無しさん :2005/11/14(月) 19:53:55
ライパンコ使った?

68 名前:ヒントになるかな? :2005/11/14(月) 19:55:33
>>53
http://www.sm.rim.or.jp/~shishido/fmenu.html

69 名前:64 :2005/11/14(月) 20:01:00
>>65
私へのレスでしょうか?
メニューはリソースで定義されているものを表示しています。
折角 ON_UPDATE_COMMAND_UI によってリソース定義とイベント処理が分離されているのですから、
イベント処理からリソースを読むということはあまりしたくありません。

別の意味だったらすみません。


70 名前:デフォルトの名無しさん :2005/11/14(月) 20:25:07
前スレで出たtimeBeginPeriod良さげだと思ったが、
SetTimerのWM_TIMERの精度には効果なしか・・。残念。
ttp://homepage1.nifty.com/toro/dlw32api.html

71 名前:デフォルトの名無しさん :2005/11/14(月) 20:41:53
>>53
ウィンドウをフックしろ hook windows

72 名前:デフォルトの名無しさん :2005/11/14(月) 20:52:29
>>64
GetMenuItemInfoは?

73 名前:72 :2005/11/14(月) 20:53:26
ゴメンなんでもない
ちょっと寝ぼけてた

変更後も元の値を知りたいのであれば、別のところに保存しておくしかないだろう

74 名前:デフォルトの名無しさん :2005/11/14(月) 21:22:39
>>64
SetMenuStringとかじゃないのか?
で、英語勉強したのか?

75 名前:デフォルトの名無しさん :2005/11/14(月) 21:23:32
SetMenuItemStringだったりして

76 名前:64 :2005/11/14(月) 21:23:58
すみません、置き換えをした後で置き換え前の文字列が欲しいという意味ではなくて、
そもそも置き換えをするためのベースの文字列が欲しいということです。

それともうひとつすみません、勘違いしていました。
今手元の環境でテストしてみたところ、
CCmdUI::m_pMenu が NULL になるのはメニューがクリックされた時に呼ばれる場合で、
メニューが表示される前に呼ばれる場合はちゃんと値が入っていました。
そこで

void CMenuTestApp::OnUpdateEditTest(CCmdUI* pCmdUI)
{
  if(pCmdUI->m_pMenu)
  {
    CString str;
    pCmdUI->m_pMenu->GetMenuString(pCmdUI->m_nID, str, 0);
    str.Replace(_T("%1"), _T("ファイルA"));
    pCmdUI->SetText(str.GetString());
  }
}

のようにしたらうまくいきました。
お騒がせしました。

77 名前:デフォルトの名無しさん :2005/11/14(月) 21:27:50
>>76
「ありがd」の心を忘れないで。

78 名前:デフォルトの名無しさん :2005/11/14(月) 21:29:38
>>77
>>76←このレスでいいと思う。

79 名前:デフォルトの名無しさん :2005/11/14(月) 21:34:57
>>68
>>71
両氏の技を今勉強しています。
レス有難うございます。なんだか楽しいです^^

80 名前:デフォルトの名無しさん :2005/11/14(月) 21:40:00
>>33
ポーリングなんて半端じゃなく時間のかかるものやってるわけないだろwアホかw

81 名前:デフォルトの名無しさん :2005/11/14(月) 21:43:02
>>80
俺はタイマは一定時間毎に取得してるだけだと思うけどな。

82 名前:デフォルトの名無しさん :2005/11/14(月) 21:43:27
あ、つまりポーリングだと思う。

83 名前:デフォルトの名無しさん :2005/11/14(月) 21:51:37
自作のアプリをIEの右クリックメニューに追加するだけなら
そのためのアプリがあるみたいだからそれを使えばいいし、
自作のアプリ自体にその機能をつけたいならレジストリをいじればいい
ttp://www.rocaz.net/rclick/howtomenu.html

84 名前:デフォルトの名無しさん :2005/11/14(月) 21:52:51
CreateStatusWindow関数でステータスバーを作ったのですが、
http://www.borujoa.org/upload/source/upload3279.jpg
の下の方の様になってしまいます。
上の方の様にしたいのですがどうすればよいでしょうか。
よろしくお願いします(^o^)

85 名前:デフォルトの名無しさん :2005/11/14(月) 21:53:33
ボーリングってあのボーリング?ストライクとかスペアとかあるやつ?

86 名前:デフォルトの名無しさん :2005/11/14(月) 21:55:44
>>85そうだよ

87 名前:デフォルトの名無しさん :2005/11/14(月) 22:02:08
>>84
http://homepage2.nifty.com/winfaq/wxp/hints.html#1347
従来のアプリケーションを、XP の新 UI に対応させるには?

88 名前:デフォルトの名無しさん :2005/11/14(月) 22:33:07
>>84
マタオマエカ

89 名前:デフォルトの名無しさん :2005/11/14(月) 22:40:20
jpgにしてきたのか

90 名前:デフォルトの名無しさん :2005/11/14(月) 22:47:12
>>85
ボーリングは穴掘り
玉転がしはボウリング

91 名前:デフォルトの名無しさん :2005/11/14(月) 23:25:18
MAX_PATH って何文字でしょうか?
printfさせてみようと思って %d に渡したら、int から const char* に変換できませんと怒られてしまう…

92 名前:デフォルトの名無しさん :2005/11/14(月) 23:27:51
260だが。そのエラーになるprintfのコードはちょっと気になる。

93 名前:91 :2005/11/14(月) 23:32:26
>>92
ありがとうございます。
後になって気づいたのですが、printfを使った自作のマクロが腐っていたのに気づきました。確認できました。すみません。

94 名前:デフォルトの名無しさん :2005/11/14(月) 23:49:06
>>91
MAX_PATHをGREPで検索するだけでいいんジャマイカ?

95 名前:デフォルトの名無しさん :2005/11/15(火) 00:39:25
http://pc8.2ch.net/test/read.cgi/tech/1131282679/l50

237 :デフォルトの名無しさん :2005/11/14(月) 23:38:29
さあ話をそらしにかかりました

96 名前:デフォルトの名無しさん :2005/11/15(火) 00:40:21


97 名前:デフォルトの名無しさん :2005/11/15(火) 00:46:36
馬鹿が馬鹿を論破して自慢したがってるんだろ?
ほっとけ。

98 名前:デフォルトの名無しさん :2005/11/15(火) 01:58:11
正直2ちゃんってレスポンスがいいだけだよね

急ぎじゃなけりゃ他で聞いたほうがマシだよ質問者の皆さん
くだらない煽りとかネタとかのが多いし

99 名前:デフォルトの名無しさん :2005/11/15(火) 02:08:18
Windows上でIPv6に対応したLinuxのようなtraceroute(UDP撃ってICMP受ける)を作りたいのですが、
IPv4はできたのですが、IPv6がうまいこといきません。
WinsockでIPv6のRAWモードソケットってちゃんと使えるのでしょうか?
やっぱりWinPCapが必要なのかな...

100 名前:デフォルトの名無しさん :2005/11/15(火) 02:52:22
質問です。

ShiftJISの文字列から、第一水準・第二水準以外の文字コード
(機種依存文字・第三水準・第四水準・補助漢字・外字等)
を削除したいのです(契約しているフォントの問題)。

適切なAPI、もしくは何かうまい判定方法はありますでしょうか?

対象はWindows98以降、開発環境はVC++2003です。

101 名前:デフォルトの名無しさん :2005/11/15(火) 05:25:47
>>81
お前の妄想なんかどうでもいい

102 名前:デフォルトの名無しさん :2005/11/15(火) 05:46:26
急ぎでも他の方がいいと思うんだけど。

103 名前:デフォルトの名無しさん :2005/11/15(火) 07:45:16
>>100
区点コードに直してから判定するといいかと。

104 名前:デフォルトの名無しさん :2005/11/15(火) 09:00:45
>>100
APIは全然関係ない。

105 名前:デフォルトの名無しさん :2005/11/15(火) 11:29:03
マルチスレッドプログラムの排他制御について質問があるんですが、

glb_mutex = CreateMutex(NULL, FALSE, L"mumu");

としてミューテックスハンドルをグローバル変数にして
各スレッドでWaitForSingleObject(glb_mutex, INFINITE), ReleaseMutex(glb_mutex);
としても合法でしょうか?
それとも各スレッドごとにOpenMutex()として別々に
ミューテックスハンドルを作成してやる必要があるのでしょうか?

106 名前:デフォルトの名無しさん :2005/11/15(火) 11:33:24
>>105
同期オブジェクトはプロセス内ならどのスレッドでも使えるよ。
つーかスレッド間同期のためにあるんだから使えて当然。

107 名前:デフォルトの名無しさん :2005/11/15(火) 11:36:24
つか、単一プロセスで完結する同期に名前つきオブジェクト使うなよ

108 名前:デフォルトの名無しさん :2005/11/15(火) 11:39:21
プッ

109 名前:デフォルトの名無しさん :2005/11/15(火) 11:42:46
質問なのですが、お願いします。
今、リストビューのLVS_OWNERDRAWFIXEDを使ってDRAWITEMしてるのですが、
ディバイダー(カラム)のサイズを変更すると再描画が起こるのは分かりますが、
どうしてもちらついてしまいます。
LVS_OWNERDRAWFIXEDを知っている方で、ディバイダーのサイズを変更しても
ちらつかない方法を知ってる方いませんか。 WM_ERASEBKGNDや、知ってるかぎり
やってみたのですが。。

110 名前:109 :2005/11/15(火) 11:44:47
環境は、VC.net + SDK です。
よろしくお願いします。

111 名前:デフォルトの名無しさん :2005/11/15(火) 11:47:11
>>109
WS_CLIPSIBLINGSをウィンドウスタイルに加えたらどう?

112 名前:105 :2005/11/15(火) 11:51:23
皆さんすばやいレスありがとうございました。
今までReleaseMutex(glb_mutex)を呼び出すと
WaitForSingleObject()を呼んでいても
GetLastError()が288を返してきていたので
この原因はグローバル変数にあるかと思っていましたが、
そうでないとわかり安心しました。

CreateMutex()自体は成功していました。

実はWaitForSingleObject()が
WAIT_ABANDONED WAIT_OBJECT_0 WAIT_TIMEOUT
のいずれかを返すものとして考えていたのですが、
WAIT_FAILEDを返す場合もあるとわかったので
こちらが返されていないか調べるようにします。

今は実験できる環境にいませんが試してから報告に来ます。

ではでは、

113 名前:109 :2005/11/15(火) 11:54:40
>>111
試してみましたが、ダメみたいです。。

114 名前:109 :2005/11/15(火) 11:56:50
あっ。ちらついているのは、ディバイダー(カラム)ではなくて、リストビューのアイテム郡です。。
ちらつきを取るのは難しいです。。

115 名前:デフォルトの名無しさん :2005/11/15(火) 13:21:42
それは無理だろう。
描画を全部カスタムドローで管理しても取れるかどうか。

116 名前:デフォルトの名無しさん :2005/11/15(火) 13:49:35
描画を全部自前にしてダブルバッファリング

117 名前:デフォルトの名無しさん :2005/11/15(火) 15:19:01
質問です。
GNUのLibiconvをVB6.0から利用できるようにしたいのだが、
stdcallでないために使用できないらしい。
ソースをなおしてみようかと思ったんだが、どう手をつけていいか..
教えてエロ(ry

118 名前:デフォルトの名無しさん :2005/11/15(火) 16:40:09
>>117
stdcallにするだけなら楽だが、iconv()はエラー通知用にerrnoを使用するし
引数もダブルポインタがあったりしてアレなので、
どのみちそのままではVBから使うには不適当。
VB用にラッパー関数を書くんだね。

119 名前:デフォルトの名無しさん :2005/11/15(火) 16:45:19
ていうかiconv()ポートせんでも
MlangのConvertINetString()でいいんじゃないかな。
IEの文字コード変換機能がそのまま使えるよ。
日本語エンコーディングのAutodetectも利用できる(IEが出来るんだから当然だが)

120 名前:デフォルトの名無しさん :2005/11/15(火) 17:05:50
日本語入力時の入力キーと打鍵時間を記録するプログラムを書いているのですが、

WM_KEYDOWN上でログを取ろうとすると、
時間は取れるのですが、wParamの中身が入力内容として使えません。
(何を入力しても0xE5が飛んでくる)

WM_CHARやWM_IME_CHARでは確定後にまとめて情報が来るため、
BSキーなどで修正をした場合、そこの入力が無視されてしまいます。
(実のところ、そのローマ字入力を修正した部分周りの情報が欲しいです)

ローマ字入力中の打鍵列をリアルタイムに取得するには
何かいい方法はないでしょうか。

121 名前:デフォルトの名無しさん :2005/11/15(火) 17:15:37
日本語入力中はIMEがWM_KEYDOWNの情報を書き換えてしまうから
フックをかけてIMEより先に情報を取得するのがいいんじゃね?
IMEより上位にフックできるのか試してないからわからんが

122 名前:デフォルトの名無しさん :2005/11/15(火) 17:16:04
ImmGetVirtualKey

123 名前:121 :2005/11/15(火) 17:18:05
そんな関数があったのか

124 名前:デフォルトの名無しさん :2005/11/15(火) 17:33:15
>>121-123
ありがとうございます!
MSDNで早速調べてみたところ、まさにそのまんまの関数でした。

ただ、返り値が元の仮想キーコードとなるとあったのですが

if(wp == VK_PROCESSKEY){
  printf("keycode: %x\n", ImmGetVirtualKey(hWnd));
}

としてクイックコンソールで確認してみたところ、
依然として0xE5が出力されてくれます( 'A`)
イージーミスの可能性もあるので、もうちょっと色々試してみます。
本当にありがとうございました。

125 名前:117 :2005/11/15(火) 17:41:00
>>118-119
mlangのConvertINetStringから、ADODBのStreamにまで流れ着きました。('A`)
おかげでできました。d

126 名前:デフォルトの名無しさん :2005/11/15(火) 17:46:11
>>124
if(wp == VK_PROCESSKEY){
  printf("keycode: %x\n", MapVirtualKey(LOBYTE(HIWORD(lParam)),1));
}
こんなんでもいいみたい。

127 名前:デフォルトの名無しさん :2005/11/15(火) 18:14:25
memsetのWin32SDK版は何ですか?
もち、TCHAR対応で

128 名前:デフォルトの名無しさん :2005/11/15(火) 18:17:50
>>126
ありがとうございます、そっちの方法だと行けました!
ImmGetVirtualKey()が成功しなかった理由はまだちょっと判らないですが、
コレ使って何とか先に進めそうです。
助かりました。

129 名前:デフォルトの名無しさん :2005/11/15(火) 18:46:36
>>127
memset()は文字列を扱うための関数ではありませんが。

130 名前:デフォルトの名無しさん :2005/11/15(火) 19:08:26
>>127
VC++のCランタイムにはwmemsetもあるが129の理由でTCHAR版はない。
自分でマクロ作れ。

あるいはC++なら<algorithm>のstd::copyも使える。

131 名前:デフォルトの名無しさん :2005/11/15(火) 19:32:10
>grep memset string.h
File string.h:
_CRTIMP void * __cdecl memset(void *, int, size_t);
void * __cdecl memset(void *, int, size_t);

132 名前:デフォルトの名無しさん :2005/11/15(火) 20:42:04
>>131
wmemsetは<wchar_t.h>

133 名前:デフォルトの名無しさん :2005/11/15(火) 20:52:27
つーか、string.hだからなんだって言うんだ?w

134 名前:デフォルトの名無しさん :2005/11/15(火) 21:06:52
少なくともwin32apiで無いことはわかるな。

135 名前:デフォルトの名無しさん :2005/11/15(火) 21:17:49
VOID FillMemory (
PVOID Destination, // メモリブロック
SIZE_T Length, // メモリブロックのサイズ
BYTE Fill // 書き込みたい値
);

つーのはあるけどな。

136 名前:デフォルトの名無しさん :2005/11/15(火) 21:21:19
>>135
でもTCHARでないから127の希望とは違うだろうな。

137 名前:デフォルトの名無しさん :2005/11/15(火) 21:23:37
それがAPIにある必然性は感じないな。

138 名前:デフォルトの名無しさん :2005/11/15(火) 21:24:40
みんな「な。」で終わってるな。

139 名前:デフォルトの名無しさん :2005/11/15(火) 21:26:12
>>137
激しく同意だな。

140 名前:デフォルトの名無しさん :2005/11/15(火) 21:27:02
どうせ中でmemset呼んでるだけだろうしな。

141 名前:デフォルトの名無しさん :2005/11/15(火) 21:29:40
そもそもmemsetみたいな関数がTCHARを引数に取ることがありえないと思うな。

142 名前:デフォルトの名無しさん :2005/11/15(火) 21:32:51
でも、memsetとwmemsetがあって_tmemset?が無いのも、「あれ?」と思うな。

143 名前:デフォルトの名無しさん :2005/11/15(火) 21:37:03
CopyMemory,MoveMemory,FillMemory,ZeroMemoryあたりはともかくSecureZeroMemoryは覚えておこうな。

144 名前:デフォルトの名無しさん :2005/11/15(火) 21:42:36
>>140
正解。マクロでmemsetになる。
一応kernel32にRtlFillMemoryのエントリポイントもあるけどな。

145 名前:デフォルトの名無しさん :2005/11/15(火) 21:45:04
お前ら、もうその話はするな。

146 名前:デフォルトの名無しさん :2005/11/15(火) 21:48:50
>>143
SecureZeroMemory()は低速。
これは、不具合の原因を特定できるまでの暫定処置だった。
原因が特定された現在では、以下のコードが望ましい。

inline void* MemSet( void *dest, int c, size_t count )
{
memset(dest, c, count);
*(volatile char*)dest = *(volatile char *)dest;
return dest;
}


↓詳細は以下URLで
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdncode/htm/secure10102002.asp

147 名前:デフォルトの名無しさん :2005/11/15(火) 21:50:51
>138をスルーしつつ、スタイルは踏襲しているんだな。

148 名前:デフォルトの名無しさん :2005/11/15(火) 21:55:40
>>146は見なかったことにしような。

149 名前:デフォルトの名無しさん :2005/11/15(火) 21:56:22
PSDKのSecureZeroMemory()の実装を以下に示す。

---winnt.h---
FORCEINLINE
PVOID
RtlSecureZeroMemory(
    IN PVOID ptr,
    IN SIZE_T cnt
    )
{
    volatile char *vptr = (volatile char *)ptr;
    while (cnt) {
        *vptr = 0;
        vptr++;
        cnt--;
    }
    return ptr;
}

---winbase.h---
#define SecureZeroMemory RtlSecureZeroMemory

150 名前:デフォルトの名無しさん :2005/11/15(火) 21:56:51
あきまへんがな。

151 名前:デフォルトの名無しさん :2005/11/15(火) 21:57:59
普段から空気の読めないやつと言われているんだろうな。

152 名前:デフォルトの名無しさん :2005/11/15(火) 22:00:53
お前らいい加減にしろよな。

153 名前:デフォルトの名無しさん :2005/11/15(火) 22:01:36
お、おこられちゃったんだな。

154 名前:デフォルトの名無しさん :2005/11/15(火) 22:04:29
お前ら、>>146のリンク先は必ず読んでおけ。
memset() の最適化処理に伴う予期しない最適化について記述されている。

155 名前:デフォルトの名無しさん :2005/11/15(火) 22:26:26
>>146のリンク先の一番下のヤツはどこが欠陥なの?

な。

156 名前:デフォルトの名無しさん :2005/11/15(火) 22:33:16
事情通を気取った>>143が赤っ恥をかいたのは気の毒だが、
みんなの知識向上に寄与したから誉めてやってもいいと思う。

157 名前:デフォルトの名無しさん :2005/11/15(火) 22:40:05
ななななななななななななななななななななななななな

158 名前:デフォルトの名無しさん :2005/11/15(火) 22:47:24
「な」じゃなくて「な。」なんだな。

159 名前:デフォルトの名無しさん :2005/11/15(火) 23:14:24
>>146
>これはオプティマイザのバグだ!と叫んで通りに飛び出すのはちょっと待ってください。

ちょっとワロタ

160 名前:デフォルトの名無しさん :2005/11/15(火) 23:29:33
>>87
ありがとう^^^^^^^^^^^^^^^

161 名前:デフォルトの名無しさん :2005/11/16(水) 00:37:51
>>159
今度、リリースビルドしたら動作しなくなったとかいう質問者に言ってみるよ!

162 名前:デフォルトの名無しさん :2005/11/16(水) 02:29:44
メニューとかツールバーとか作ってみたら
http://up.mugitya.com/img/Lv.1_up12444.jpg
の上の奴の様になるんだけど、
真ん中や下の奴の様にしたいんだけど、どうすればいいかな?
よろしくお願いします(^o^)

163 名前:デフォルトの名無しさん :2005/11/16(水) 02:56:14



    ま た グ ラ デ 厨 か




164 名前:デフォルトの名無しさん :2005/11/16(水) 03:23:03
オーナードロー

165 名前:デフォルトの名無しさん :2005/11/16(水) 03:57:52
オーナードローじゃないよ
真ん中や下の奴はvisual styleで定義されたグラフィカルな色合い
だからvisual styleを変更すれば別のグラフィカルな色合いになる


166 名前:デフォルトの名無しさん :2005/11/16(水) 04:03:50
いや、ネタだったんだが。

167 名前:デフォルトの名無しさん :2005/11/16(水) 06:42:44
>>166
調子のんなよカス(^o^)

168 名前:デフォルトの名無しさん :2005/11/16(水) 06:53:06
    .__
   ヽ|・∀・|ノ
    |__|
     | |
     調子
     調子
     調子
     調子
     調子
     調子
     調子
     調子
     調子
     調子

169 名前:デフォルトの名無しさん :2005/11/16(水) 07:05:05
カスがカスって言っても説得力無いよ

170 名前:デフォルトの名無しさん :2005/11/16(水) 07:39:09
>>169
わかったからさっさと答えろや(^o^)

171 名前:デフォルトの名無しさん :2005/11/16(水) 07:43:10
あんまり調子こいてるとアクセス禁止にして貰うぞ

172 名前:168 :2005/11/16(水) 07:48:58
>>171
すいません。

173 名前:デフォルトの名無しさん :2005/11/16(水) 08:04:41
さっさと答えろや雑魚ども(^o^)

174 名前:デフォルトの名無しさん :2005/11/16(水) 08:28:32
ったくしょうがねぇガキだなぁ。
ttp://www.microsoft.com/japan/msdn/windows/windowsxp/xptheming.asp


175 名前:デフォルトの名無しさん :2005/11/16(水) 09:25:36
win32apiとwindows sdkとplatform sdkの違いが分からないのだが誰か教えて

176 名前:デフォルトの名無しさん :2005/11/16(水) 09:33:29
windows sdkなんぞ聞いたこともない

177 名前:デフォルトの名無しさん :2005/11/16(水) 09:36:33
>>175
char[]に格納したときに消費するメモリの大きさが違う

178 名前:デフォルトの名無しさん :2005/11/16(水) 09:40:10
>>176
VistaのSDK

179 名前:デフォルトの名無しさん :2005/11/16(水) 09:45:24
sdk の検索結果のうち 日本語のページ 約 842,000 件中 1 - 10 件目 (0.29 秒)

SDKとは 【Software Development Kit】 ─ 意味・解説 : IT用語辞典 e ...
SDKをさらに検索. 全文検索 ・ 関連ニュース検索. SDK. あるテクノロジー(プログラミング 言語やAPIな
ど)を利用してソフトウェアを開発する際に必要なツールのセット。 フルスペル :, Software
Development Kit. IT派遣情報, ITエンジニア派遣なら ...
e-words.jp/w/SDK.html - 関連ページ

180 名前:デフォルトの名無しさん :2005/11/16(水) 13:54:12
実行ファイルのプロパティの「互換モード」の影響を受けずに
OSの情報を取得する方法があれば教えてください。
互換モードで起動するとGetVersionEx()で取得される情報も変更されてしまいます。

181 名前:デフォルトの名無しさん :2005/11/16(水) 14:01:51
>>180
9xとNT系の区別だけでいいなら、GetSystemDirectory()で取得した文字列から泥臭く判断するのはどう?

182 名前:181 :2005/11/16(水) 14:07:02
あ、>>181だとXPがダメだ。
デスクトップのパスで判断するとか。
SHGetSpecialFolderPath(NULL, buffer, CSIDL_DESKTOPDIRECTORY, FALSE);


183 名前:デフォルトの名無しさん :2005/11/16(水) 14:07:10
version.dllのバージョン情報読むってのはダメか?
それすら騙されるなら、ファイルとして読み込んで自己解析とか。

184 名前:デフォルトの名無しさん :2005/11/16(水) 14:52:36
LPARAM型ってDWORDのポインタでしょうか・・すみません

185 名前:デフォルトの名無しさん :2005/11/16(水) 14:56:25
>>184
LPARAM は LPARAM だしょ

186 名前:デフォルトの名無しさん :2005/11/16(水) 14:59:45
ううん、質問が悪かったです。
WPARAM型は(私の環境では)32bit変数(DWORD型と同じ)
LPARAM型は・・?
てな具合です。

187 名前:デフォルトの名無しさん :2005/11/16(水) 15:02:59
File WTypes.h:
typedef LONG_PTR LPARAM;
typedef long LONG;
File wmsstd.h:
typedef LONG LONG_PTR;


188 名前:デフォルトの名無しさん :2005/11/16(水) 15:03:33
ヘッダファイルを読めばわかる・・・かも
32ビットでしょ

189 名前:デフォルトの名無しさん :2005/11/16(水) 15:06:11
>>186
どっちも単なる32bitのメモリ。

好きに使えばいい。
ただ、LPARAMは、何かのポインタを入れるのに使うことが多い、
というだけ。

たとえば
WM_CREATEのLPARAMは、CREATESTRUCT構造体へのポインタ
WM_NOTIFYのLPARAMは、NMHDR構造体へのポインタ

190 名前:デフォルトの名無しさん :2005/11/16(水) 15:07:50
わざわざ有り難うございます・・
今さっきも*lParamとしたのですが、無効な参照と吐いてくれたので。
すみませんでした

191 名前:189 :2005/11/16(水) 15:07:55
>>186
もちろん、いま32bitというだけであって、
将来、MSは変える可能性があるから、絶対に32bitだとするのはあれだけど。
(まあ、互換性を考えるとまずない)

192 名前:デフォルトの名無しさん :2005/11/16(水) 15:10:02
今、というかx64 Editionなら64bitにもうなってるんじゃ?

193 名前:デフォルトの名無しさん :2005/11/16(水) 15:11:03
>>191
新しいヘッダファイルでは、
既に、64bitに対応できる定義に変わってるけど

194 名前:デフォルトの名無しさん :2005/11/16(水) 15:16:26
すでにWPARAMという名で32bitなわけだし。

195 名前:デフォルトの名無しさん :2005/11/16(水) 15:33:17
>>194
名前は16bitだと思うが‥‥
Word: 16bit
DoubleWord: 32bit
QuadWord: 64bit

196 名前:デフォルトの名無しさん :2005/11/16(水) 15:57:26
>>195も間違い。

以下は、MSDNの「データ型」(MFCの関連ページ)から

WPARAM
ウィンドウ プロシージャまたはコールバック関数への引数として渡される値。
Windows Versions 3.0 と 3.1 では 16 ビット値、Win32 では 32 ビット値。

LPARAM
ウィンドウ プロシージャまたはコールバック関数の引数として渡される 32 ビット値。

197 名前:デフォルトの名無しさん :2005/11/16(水) 16:05:16
いや別に間違ってはないだろ
「名前は」16bitだっつってんだから>WORD Parameter

198 名前:デフォルトの名無しさん :2005/11/16(水) 16:22:30
16bitOSから32bitOSになった時点で、
WORDという表現が紛らわしくなっただけでしょ

199 名前:仕様書無しさん :2005/11/16(水) 16:37:49
>>198
16bitだろうが、32bitだろうが、よほど偏屈なマイナー仕様のシステムでない
限り、WORDは16ビットだが?

intのサイズが未定義(環境依存)なのと区別ついてねぇんじゃないか?

200 名前:180 :2005/11/16(水) 16:49:53
>>181-183
やはり、そういう裏ワザ的手法になってしまうんですね…。
みなさんのご助言をもとにいろいろ試行錯誤してみます。
どうもありがとうございました。

201 名前:デフォルトの名無しさん :2005/11/16(水) 16:59:53
なぜ195が194にレスしているのかが分からない
同じ事言っているのに

202 名前:デフォルトの名無しさん :2005/11/16(水) 17:04:00
いや同じことは言っていない
むしろ>>196>>195に対するレスがおかすい

203 名前:デフォルトの名無しさん :2005/11/16(水) 17:06:12
同じだよ

204 名前:デフォルトの名無しさん :2005/11/16(水) 17:07:29
>>202
すでにWPARAMという(16bitの)名で32bitなわけだし(いまさら拘ることはない)。

読解力無いな195も196も

205 名前:デフォルトの名無しさん :2005/11/16(水) 17:13:06
ゆとり世代はもう一度小学生からやり直したほうがいいな

206 名前:デフォルトの名無しさん :2005/11/16(水) 19:55:23
64bit Windowsの場合はどうなんだろうな

207 名前:デフォルトの名無しさん :2005/11/16(水) 22:03:36
質問です。ツールチップを表示しっぱなしにする方法がありましたら教えてください。
TTM_SETDELAYTIMEでTTDT_AUTOPOPを指定すれば時間を変更できますが、
最大30秒ちょっとしか表示を持続させることができないようなので・・・。

208 名前:デフォルトの名無しさん :2005/11/16(水) 22:08:54
自分でウィンドウ作って表示したほうがはやくね?

209 名前:デフォルトの名無しさん :2005/11/16(水) 22:16:07
>>207それおれもわからんかった
しょうがないから最大30秒で我慢してるw

210 名前:209 :2005/11/16(水) 22:19:28
TOOLTIPのウィンドウをサブクラス化して
30秒を測ってると思われるWM_TIMERあたりのメッセージを横取りすれば
持続して表示できるかもしれないが、そこまで試さなかったw

211 名前:デフォルトの名無しさん :2005/11/16(水) 22:25:18
Janeとか専用ブラウザが実現してるな

212 名前:デフォルトの名無しさん :2005/11/16(水) 22:27:07
こんばんは、よろしくお願いします。
win32sdkです。
ダイアログボックスに、エディットコントロールを貼り付けていますが、
英数と、.コンマのみ入力にしたいのですが、
ime の変更を行いたいと思っています。
どのイベントにそれを書き込むのかが分かりません。
教えてください
hlmc = ImmGetContext(hwnd);
ImmGetConversionStatus(hlmc,&dwConv,&dwSent);
ImmSetConversionStatus(hlmc,IME_CMODE_FULLSHAPE, dwSent);
上記かきこもうとおもっています。


213 名前:デフォルトの名無しさん :2005/11/16(水) 22:27:42
昭和生まれださい

214 名前:デフォルトの名無しさん :2005/11/16(水) 22:29:19
ゆとり世代は(・∀・)カエレ!

215 名前:デフォルトの名無しさん :2005/11/16(水) 22:32:04
昭和生まれはジャガイモでも食ってろ

216 名前:デフォルトの名無しさん :2005/11/16(水) 22:32:44
昭和生まれと平成生まれの関係って韓国と日本の関係に似てるよね
韓国:日本=昭和生まれ:平成生まれ

217 名前:デフォルトの名無しさん :2005/11/16(水) 22:37:38
this thread 面白いne☆


218 名前:デフォルトの名無しさん :2005/11/16(水) 22:38:50 ?##
スレッド関数は見つかったのですが、レス関数が見つかりません

219 名前:デフォルトの名無しさん :2005/11/16(水) 22:39:40
218's response 面白いne☆

220 名前:デフォルトの名無しさん :2005/11/16(水) 22:46:57
CreateDIBSectionで確保した描画メモリを
memcpy辺りでガッと初期化しようと思っているのですが、
1列の最後尾にゴミが無いってのは保証されてましたっけ?

古き良きDirectDrawの描画メモリと記憶が混在してしまって

221 名前:207 :2005/11/16(水) 23:02:00
>>208-211
やはり標準的な手法は存在しないんですね。
自前の表示とサブクラス化、両方を検討してみます。
ありがとうございました。

222 名前:デフォルトの名無しさん :2005/11/17(木) 00:03:07
あるアプリの特定のウィンドウの内容を自分のウィンドウにビットマップコピーしたい場合、コピー元のアプリを表示させずに
コピってくる方法ないですか?スクリーン上では見えない座標にコピー元を移動したりと色々試したけど、WM_PAINTが発生しないから
ハードコピーしても期待したDCのビットマップが取得できないんですよね。無理?

223 名前:222 :2005/11/17(木) 00:04:44
あ、WM_PAINT飛ばしてみればいいのか。。やってみます。

224 名前:デフォルトの名無しさん :2005/11/17(木) 00:16:35
>>223
まぁ、無理だと思うよ。
タスクマネージャなどの最前面アプリのしたにいるウィンドウや、
モニタから見切れているウィンドウで試せば判るが、理論DCを取得することは不可能。

225 名前:224 :2005/11/17(木) 00:19:24
誤爆でした

226 名前:デフォルトの名無しさん :2005/11/17(木) 00:20:32
>>224
おっしゃる通りだめでした。FindWindow()で見つけたウィンドウに対してInvalidate()とUpdateWindow()呼んだけど×。
本当はOLEで自アプリに埋め込みたいのですが、OLEで埋め込むと必要ない部品までくっついてきてしまうので…
メインウィンドウの画面イメージだけ欲しいんですよね。このような要件を満たすことはできないですかね?

227 名前:デフォルトの名無しさん :2005/11/17(木) 00:21:38
>>225
うっそー誤爆なん!?w あまりにもタイムリー

228 名前:224 :2005/11/17(木) 00:25:04
>>225
偽装誤爆申請しないでくれ。

229 名前:デフォルトの名無しさん :2005/11/17(木) 00:36:10
不可能じゃないし

230 名前:226 :2005/11/17(木) 00:43:22
>>229
どうやるんですか?

231 名前:デフォルトの名無しさん :2005/11/17(木) 00:52:28
内緒(はぁと

232 名前:デフォルトの名無しさん :2005/11/17(木) 02:01:01
>>174
OpenThemeData試したけど無理だったよ(^o^)
詳しく教えてよー(^o^)

233 名前:デフォルトの名無しさん :2005/11/17(木) 02:24:19
>>232
礼の一言も言えねぇガキに教えてやるほど俺はヒマじゃねぇ。
他の優しいお方にでも頼め。

234 名前:デフォルトの名無しさん :2005/11/17(木) 02:28:05
>>233
>160

235 名前:デフォルトの名無しさん :2005/11/17(木) 03:49:24
>^^^^^^^^^^^^^^^
>(^o^)

コレウザイ

236 名前:デフォルトの名無しさん :2005/11/17(木) 04:04:15
>>235
すみませんでした。

237 名前:デフォルトの名無しさん :2005/11/17(木) 05:15:47
DLL内で作成したウィンドウの表示内容を、MDIウィンドウのビューに貼り付けたいのですが、どこから手を付けていいか解からず、困っています。
とりあえず、DLLのウィンドウ作成メッセージをフックするところから調べていますが、正しいのでしょうか?
ご教授お願いします


238 名前:デフォルトの名無しさん :2005/11/17(木) 05:16:02
>>237
^^

239 名前:デフォルトの名無しさん :2005/11/17(木) 09:14:17
もうお前らいいです(^o^)
雑魚ばっかだな(^o^)

240 名前:デフォルトの名無しさん :2005/11/17(木) 09:19:02
ピザでも食ってろ(^o^)

241 名前:デフォルトの名無しさん :2005/11/17(木) 09:45:57
>>237
SetParent()

242 名前:デフォルトの名無しさん :2005/11/17(木) 11:01:38
VS2005にあわせて、そろそろPlatform SDKの更新こねーかなー。
ヘルプブラウザ(dexplore.exe)がVS2005の世代のになればいーなー。

243 名前:デフォルトの名無しさん :2005/11/17(木) 15:50:57
ttp://www.it-engineer.jp/main/programing/sample/vc13.html
このサイトを参考にプログラムを作成しました。
このプログラムにおいて、(x,y)座標のRGB値を取得したいのですが、
どのようにすれば宜しいのでしょうか?

プログラムの関数grayScaleでは、
for (i = 0; i < xSize * ySize; i++) {
b = lpBMP[i * 3];
となってますが、これをどういじれば(x,y)で示せるのか分かりません。

244 名前:デフォルトの名無しさん :2005/11/17(木) 16:20:11
>>243
i = x + y * width;

245 名前:デフォルトの名無しさん :2005/11/17(木) 17:55:41
C/C++室の方から移住してきたんですけど、codepageでUTF-8って使えますか?setlocaleでセットできるのでしょうか?
ファイルパスをUTF-8で渡してくるアプリの移植で困っていまして。
できないならファイル操作のところでUTF16に自力変換してwopenとか*W系APIとかを自力で呼び出そうかと考えているのですが。

246 名前:デフォルトの名無しさん :2005/11/17(木) 18:31:42
WideCharToMultiByte(CP_UTF8,...)

247 名前:245 :2005/11/17(木) 18:58:16
>>246
サンクス。変換して渡せばよいのですね。
googleさまにお尋ねしてみたところ、wfstreamというものを教えてくださいました。fstream継承して自分で書く羽目になるのかと思っていました。
ところで
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/mslu/winprog/microsoft_layer_for_unicode_on_windows_95_98_me_systems.asp
怪しげな拡張ですが、これを入れれば95とかでもFileW系とかWideCharの変換系とかのAPI呼べるんでしょうか?
なんか内部的にローカルなcodepageに変換しているだけのようにも見えますが・・・
私の扱っているアプリはUTF8ネイティブなのでANSIに変換すると情報が失われてしまうことがあります
あとFATの場合ってファイルパスは256バイト以内(Unicode128文字以内)しか使えないのでしょうか?

248 名前:デフォルトの名無しさん :2005/11/17(木) 19:11:26
MSLUはまぁ基本的に役に立たない。

249 名前:デフォルトの名無しさん :2005/11/17(木) 19:14:42
>>247
wfstreamも、コンストラクタのファイル名の引数の型はconst char *だったと思うが。
WideCharなどの関数は元から9xでも対応している。
ここに9xでも使えるUnicode系の関数の一覧がある。
http://msdn.microsoft.com/library/en-us/mslu/winprog/other_existing_unicode_support.asp?frame=true
(ほかにもCOM関連はもちろんUNICODEしかないな)

それ以外の関数の場合、MSLUは単にANSIへ変換しているだけ。

250 名前:デフォルトの名無しさん :2005/11/17(木) 19:47:21
>>249
streamの中身がwcharなだけなんですね。
C++初心者ですが、ヘッダファイルとGoogle様を参考にしてがんばって自分で作ってみます。
9x系は切捨ての方向でいきたいと思います。
今のままでもマルチバイトなファイル名がぶっこわれることがあるだけで、使えないわけじゃないし。
どうもありがとうございました。


■過去ログ置き場に戻る■ 1- 次250 最新50
DAT2HTML 0.33f Converted.