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


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

Win32API質問箱 Build47
751 名前:748 :2006/12/08(金) 12:33:40
// Rectangleするとこ
HDC hDC = GetDC(hWnd)
HCD hMemoryDC = CreateCompatibleDC(hDC);
HBITMAP hBitmap = CreateComatibleBitmap(hDC, 640, 480);
SelectObject(hMemoryDC, hBitmap);
DeleteObject(hBitmap);
SelectObject(hMemoryDC, GetStockObject(GRAY_BRUSH));
Rectangle(hMemoryDC, 0, 0, 640, 480);
ClearRect(hMemoryDC, 160, 120, 480, 360);// Rectangleで書いたところの一部を消したい

----------
WndProcでWM_PAINTのところ
case WM_PAINT:
 hDC = BeginPaint(hWnd, &ps);
 BitBlt(hDC, 0, 0, 640, 480, hMemoryDC, 0, 0, SRCCOPY);
 EndPaint(hWnd, &ps)

↑みたいな処理で、ClearRectに該当する処理を探しています

752 名前:デフォルトの名無しさん :2006/12/08(金) 12:47:57
>>751
>SelectObject(hMemoryDC, hBitmap);
>DeleteObject(hBitmap);

こういうところ見ると仕組みを理解してないのがよくわかる。
ここを一通り呼んで勉強してくれ。
ttp://msdn.microsoft.com/library/en-us/dnanchor/html/gdi.asp

753 名前:748 :2006/12/08(金) 13:02:33
>>752
ttp://www13.plala.or.jp/kymats/study/MULTIMEDIA/bmp_multibuf.html
ここを参考にしました

754 名前:748 :2006/12/08(金) 13:11:20
>>751
使っている間は、DeleteObjectしたらあかんという意味ですね。
プログラミングWindowsを読むと、WM_DESTROYでDeleteObject(hBitmap)みたくなっているのが多いので。

755 名前:kk :2006/12/08(金) 13:27:56
>>745>>747>>750
ありがとうございます。
>>747
そう思ったのは、リソーススクリプトを使用したので
HWND = CreateWindow(--------,---,-,-,.....);
と書かなかったからです。
>>750
GetDlgItemText()で、ちゃんと入力された文字列を取り入れることができました。
ありがとうございます。

756 名前:デフォルトの名無しさん :2006/12/08(金) 15:17:28
>>753
何そのダメすぎるサイト
そんなとこ参考にしてたらキミも終わっちまうぜ

757 名前:748 :2006/12/08(金) 15:39:20
オレ・オワタ

758 名前:デフォルトの名無しさん :2006/12/08(金) 16:50:47
JavaでいうところのSystem.currentTimeMillisはありますか?

759 名前:デフォルトの名無しさん :2006/12/08(金) 16:54:01
途中で投稿してしまいました。

JavaでいうところのSystem.currentTimeMillisはありますか?
GetLocalTimeでSYSTEMTIMEとって自分で掛け算ですか?

760 名前:デフォルトの名無しさん :2006/12/08(金) 17:00:46
ttp://msdn.microsoft.com/library/en-us/sysinfo/base/time_functions.asp

761 名前:デフォルトの名無しさん :2006/12/08(金) 18:57:27
ほかのプログラムにバイナリデータを渡して起動するには
どんな方法がよさげ?

コマンドラインパラメータ以外で。


762 名前:デフォルトの名無しさん :2006/12/08(金) 19:10:59
量とかどういう処理なのかとかもっと具体的じゃないと検討しようがない。

コマンドライン以外だと渡して起動というよりも起動後通信だな。
pipe、共有メモリ、ネットワーク等。

763 名前:デフォルトの名無しさん :2006/12/08(金) 19:18:10
>>762
量は多くても1KBくらい。
確実に渡せる方法がいいです。


764 名前:デフォルトの名無しさん :2006/12/08(金) 19:39:20
データ受け渡し用ファイルでも作れば?

765 名前:デフォルトの名無しさん :2006/12/08(金) 19:46:54
>>764
そうしてみるわ
トンクス

766 名前:デフォルトの名無しさん :2006/12/08(金) 20:30:14
質問です。
Windowsのエクスプローラの、ファイルやフォルダが表示される部分を
自分で作ったウィンドウに埋め込むにはどうすれば良いでしょうか。

767 名前:デフォルトの名無しさん :2006/12/08(金) 20:37:23
ttp://www.nitoyon.com/vc/tips/ie_component.htm
IEコンポーネントを使っている例だが参考になる。
アドレスバーに入力すればわかるが、フォルダだって表示できる。

768 名前:デフォルトの名無しさん :2006/12/08(金) 20:43:30
右クリックで警告がでたりするがな。

769 名前:デフォルトの名無しさん :2006/12/08(金) 20:52:36
うさみみハリケーンとか、ねこまんまとか ollydbg とかで
メモリマップの表示っていうのありますが、あれはどの API
をつかってるんでしょうか?

開始アドレス フラグ サイズ
00010000 -RW- 1000
00020000 -RW- 1000
0011F000 -RW- 11000
....

77FDF000 -ERW- 1000
77FFE000 -R- 1000

こういうやつです。

770 名前:デフォルトの名無しさん :2006/12/08(金) 21:02:39
VirtualProtectExとかReadProcessMemoryとかそこらへんだと思う。

771 名前:デフォルトの名無しさん :2006/12/08(金) 21:46:58
WinMainをDLLに置くことは可能ですか?

772 名前:デフォルトの名無しさん :2006/12/08(金) 21:50:10
>>771
無理。

スタティックリンクライブラリに置くことは可能。

773 名前:デフォルトの名無しさん :2006/12/08(金) 21:53:06
エントリポイントから自分で書けばできるのではないだろうか。

774 名前:デフォルトの名無しさん :2006/12/08(金) 22:23:21
FindFirstFile()/FindNextFile()で教えて下さい。

ワイルドカード+拡張子でファイルを検索してるのですが、これで引っ張ってくる
ファイル名の順番はどういう順で返されるのでしょうか?
最初は名前順かと思ったのですが違うようで…

775 名前:デフォルトの名無しさん :2006/12/08(金) 22:44:57
>>774
MSDN読めよ
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/findnextfile.asp
>The order in which this function returns the file names is dependent on the file system type.
>With the NTFS file system and CDFS file systems, the names are returned in alphabetical order.
>With FAT file systems, the names are returned in the order the files were written to the disk,
>which may or may not be in alphabetical order.

776 名前:デフォルトの名無しさん :2006/12/08(金) 22:51:29
>775
それは邦訳を読んだけどそれでもイマイチ疑問なのヨ

具体的な例で、検索対象フォルダに名前が"a.txt"と"_.txt"で始まるファイルがあるとき、
explorerで「アイコンの整列->名前順」とすると

_.txt
a.txt

という順で表示されますが、FindFirst/FindNextで検索すると逆に出てくる。
なぜ?('A`)

'_' = 0x5f
'a' = 0x61

ってことを考慮するとexplorerの名前表示順がしっくりくるんだけどな…

777 名前:デフォルトの名無しさん :2006/12/08(金) 22:52:55
>>776
>>775 読め

778 名前:デフォルトの名無しさん :2006/12/08(金) 23:00:34
質問の意図を伝えられなかったようで

回避方法見つけたからもういいわ

779 名前:デフォルトの名無しさん :2006/12/08(金) 23:03:26
ファイルシステムに依存すると書いてあるじゃないか
てか自前でソートすれ

780 名前:デフォルトの名無しさん :2006/12/08(金) 23:05:34
>ファイルシステムに依存すると書いてあるじゃないか

それを解った上で776を書いたんだが

>てか自前でソートすれ

そうしたよ

781 名前:デフォルトの名無しさん :2006/12/08(金) 23:23:39
すると何か、FindFirst/FindNext を呼ぶたびに、
内部でファイルを列挙して並び替えて・・・って処理をやってくれというのか?


782 名前:デフォルトの名無しさん :2006/12/08(金) 23:29:18
explorerとFindNextFile()の名前順の解釈が違うのは何故かを聞きたかったのだが

>781
誰が何時そんな事を言ったのか言ってみ

783 名前:デフォルトの名無しさん :2006/12/08(金) 23:34:48
つうかexplorerもXPとそれ以前でソートの仕方が違うよね
ファイル名に数字がついた時とか

784 名前:デフォルトの名無しさん :2006/12/08(金) 23:51:57
Explorer が >>779 だからに決まってるじゃないか

785 名前:デフォルトの名無しさん :2006/12/09(土) 00:09:27
>>776
FindNextFileはファイルシステムに物理的に格納されている順番で列挙するんだから。
z.txt
a.txt
の順で格納されていたら。その順で出てくるだけだと思うが。
たぶん、その実験した環境では、
a.txt
_.txt
の順番に格納されていたんだろうね。

explorerは表示する時に、ソートしなおしているんだから、「しっくりくる」順番なのは当然。

786 名前:デフォルトの名無しさん :2006/12/09(土) 00:19:13
>>785
>>775 読め

787 名前:デフォルトの名無しさん :2006/12/09(土) 00:30:07
見えないリストボックスに読み込めばソートもしてくれると思うんだけど...


788 名前:デフォルトの名無しさん :2006/12/09(土) 00:30:17
12520850.cpx
2052
3076
3com_dmi
6to4svc.dll
a15.tbl
a234.tbl
aaaamon.dll
Accesor.dll
access.cpl
acctres.dll
accwiz.exe
acelpdec.ax
acledit.dll
aclui.dll
acode.tbl
activeds.dll
activeds.tlb
actmovie.exe
actskin4.ocx
actxprxy.dll
adddrv.exe
admparse.dll
ADODC.SRG
ADODCJP.DLL
adptif.dll
adsldp.dll
adsldpc.dll
adsmsext.dll
adsnds.dll
adsnt.dll
勝手にソートしてんじゃん

789 名前:774 :2006/12/09(土) 00:33:39
>787
正にそれで済ませたワケだが

>788
先頭に'_'の付いたファイルも検索すれば言ってる事判ると思われ

790 名前:デフォルトの名無しさん :2006/12/09(土) 00:40:13
>>789
b.txt、c.txtも検索すれば皆が言ってる事判ると思われ

791 名前:デフォルトの名無しさん :2006/12/09(土) 00:41:36
取り敢えず名前順といってもAPIとExplorerで一貫してないっぽい
何故か?については誰も答えられない

792 名前:デフォルトの名無しさん :2006/12/09(土) 00:43:35
>790
多分一番解ってないのはお前

793 名前:デフォルトの名無しさん :2006/12/09(土) 00:48:34
>>769
GetSystemInfo
VirtualQueryEx

794 名前:デフォルトの名無しさん :2006/12/09(土) 01:01:25
Windowsのファイルシステムドライバがファイル名の大文字小文字の
区別をつけないように組まれていることを考えればわかるだろうに。

795 名前:デフォルトの名無しさん :2006/12/09(土) 01:02:28
>>789
LBS_STANDARDフラグは付けたの?


796 名前:デフォルトの名無しさん :2006/12/09(土) 01:03:28
と、今更解ったような口を利く奴が登場ですよ

797 名前:デフォルトの名無しさん :2006/12/09(土) 01:09:12
つうか>>774はどのファイルシステム使ってるんだよ?
NTFSなのかFATなのかくらい書けよ。

798 名前:デフォルトの名無しさん :2006/12/09(土) 01:16:44
知ったかが答えられずに妙な突っかかり方してるようにしか見えんな

799 名前:デフォルトの名無しさん :2006/12/09(土) 01:39:48
例えば、_, a, B, c, D を並び替えた場合、文字コード順にやってしまうと、
B < D < _ < a < c と並び替えられる。

a より B が前に来るのは、直感的に分かりにくい。
そのためエクスプローラでは、いわゆる辞書順に並び替えるため、
おそらくアルファベット大文字を小文字に変換してからソートしている。

_, a, B, c, D
→ _, a, b, c, d
→ _ < a < b < c < d
→ _ < a < B < c < D

こうして、アンダーバーは先頭に持ってこられる。

全部予想だけど。


800 名前:デフォルトの名無しさん :2006/12/09(土) 01:50:29
全角のA、aも半角と入り混じって辞書順になるよ
言語の設定を日本語にしてるときだけかもしれんけど

801 名前:デフォルトの名無しさん :2006/12/09(土) 03:25:26
Zipフォルダを、エクスプローラだけじゃなくて
任意のアプリからフォルダのように見えるようにする事は無理なのでしょうか?


802 名前:デフォルトの名無しさん :2006/12/09(土) 05:40:17
エクスプローラで全角スペースで始まるファイル名より前に来るファイル名を探せ

803 名前:デフォルトの名無しさん :2006/12/09(土) 08:12:36
ファイル順がどうのと訳知り顔で囁いてる香具師らはまとめて>>775見ろ

804 名前:デフォルトの名無しさん :2006/12/09(土) 08:39:04
>>801
それはAPIの質問なのか?
そのアプリ作った奴に頼め

805 名前:デフォルトの名無しさん :2006/12/09(土) 08:43:41
おはようございます

806 名前:デフォルトの名無しさん :2006/12/09(土) 09:11:45
ExplorerとAPIは同じであるべきだ、という前提が間違っているとは考えないのかな

807 名前:デフォルトの名無しさん :2006/12/09(土) 09:36:30
>>803
英文を読めるような頭を持った人間なら、そもそもここまで話を引き伸ばせません。

808 名前:デフォルトの名無しさん :2006/12/09(土) 09:47:51
NTFS上のソート順は
! < 0 < A,a < _ < α < あ < ア < 亜 < A,a

Unicode順で、英字は大小の区別なし(大文字と見なす)、全角半角の区別あり、カタカナひらがなの区別あり
といった感じだな。

explorerは、英字は大小の区別なし(小文字と見なす)、全角半角の区別なし、カタカナひらがなの区別なし、
漢字はJISコード順って感じかな。

809 名前:デフォルトの名無しさん :2006/12/09(土) 09:56:13
>>807
本当に知らなくて恥ずかしかったんだろうな

810 名前:デフォルトの名無しさん :2006/12/09(土) 09:57:22
>>806-807
何故なのかが話題であって誰も同じであるべきとは言っていない事に気付け

811 名前:kk :2006/12/09(土) 10:37:43
GetDlgItemText()で文字列を取得できたと思ったのですが、
うまく取得できてなく、
取得した文字列をatoiでintで変換したときにエラーになります。
エディットボックスに何を入れても、PTSTRにはいるのは「・U駆Qテ・」となっています。
何が原因なのでしょうか。

812 名前:デフォルトの名無しさん :2006/12/09(土) 10:43:15
エクスプローラの順序でファイル名比較をするAPIがshlwapiか何かにあったはず

813 名前:デフォルトの名無しさん :2006/12/09(土) 10:59:50
URLDownloadToFile関数で
返り値が返されるタイミングというのは
ダウンロードが完了した時、接続に成功したときのどちらでしょうか?


814 名前:デフォルトの名無しさん :2006/12/09(土) 12:04:57
自分のプロセスがどのくらいメモリを使用しているか取得する API はありますか?

815 名前:デフォルトの名無しさん :2006/12/09(土) 12:05:34
ありますよ

816 名前:デフォルトの名無しさん :2006/12/09(土) 12:07:16
>>815
すいません。教えていただけると幸いです。

817 名前:デフォルトの名無しさん :2006/12/09(土) 12:28:14
PurosesuMemoriDorekurai( PUROSESUHANDORU ph );

818 名前:デフォルトの名無しさん :2006/12/09(土) 12:36:03
>>811
そもそも整数値を取るつもりなら始めからGetDlgItemIntを使ったらどうか。

819 名前:デフォルトの名無しさん :2006/12/09(土) 13:39:16
>>810
アンカーの間違いに気づけ

820 名前:デフォルトの名無しさん :2006/12/09(土) 18:04:38
Process Explorerみたいに他のプロセスの環境変数を取得するには
どのAPIをつかえばいいの?

821 名前:デフォルトの名無しさん :2006/12/09(土) 18:22:43
ツリー構造のデータを外部に保存したいんだけど、データが大きいんでINIファイルだと遅くなりそう・・・
というわけでXMLに保存しようかと思うんだけど.NET使わずにXMLにアクセスする手段はありますか?
MSXMLとかになるんでしょうか

822 名前:デフォルトの名無しさん :2006/12/09(土) 18:28:52
>>821
XMLのほうが遅くなるんじゃね?

823 名前:デフォルトの名無しさん :2006/12/09(土) 18:30:04
MSXMLは高機能で便利だけど遅いよ。

824 名前:デフォルトの名無しさん :2006/12/09(土) 18:44:15
iniファイルって64KBの制限があったような。

825 名前:デフォルトの名無しさん :2006/12/09(土) 18:45:55
ありがとう、じゃあINIファイルで一度やってみる
INIで木構造を維持するいい方法があったら教えてもらえると助かる

826 名前:デフォルトの名無しさん :2006/12/09(土) 18:57:12
そのぐらい自分で考えろよ

827 名前:デフォルトの名無しさん :2006/12/09(土) 19:01:31
分かった

828 名前:デフォルトの名無しさん :2006/12/09(土) 19:02:45
別に ini にせんでも、独自形式にして
タブの個数とかでやってみたら?


829 名前:デフォルトの名無しさん :2006/12/09(土) 19:34:57
車輪の再発明は馬鹿げているので今後ともiniファイルでいきます
どうもありがとうございました

830 名前:デフォルトの名無しさん :2006/12/09(土) 19:44:16
ファイルの拡張子がINIということ自体は問題ないけど
Get/WritePrivateProfile系APIでの読み書きしてるなら絶対遅いよ。
内部で1行ごとにOpen/Closeされてるだろうし..

831 名前:デフォルトの名無しさん :2006/12/09(土) 19:49:08
試してから言えや

832 名前:デフォルトの名無しさん :2006/12/09(土) 19:52:04
コーディング量が一番少ないのを薦めるよ
RUBY最強だけどね

833 名前:デフォルトの名無しさん :2006/12/09(土) 19:55:25
実行環境が問題無いならxmliteという手もある

834 名前:デフォルトの名無しさん :2006/12/09(土) 20:06:19
>>820
ちゃんとしたやり方 or もっとスマートなやり方があるかも知れんけど、
SetWindowsHook系のAPI使うなりなんなりして自前のDLLを調べたい
プロセスにロードさせてやればそのDLLから取得できるべ。

835 名前:デフォルトの名無しさん :2006/12/09(土) 20:08:18
>>816
GlobalMemoryStatus

836 名前:デフォルトの名無しさん :2006/12/09(土) 21:02:27
>>829
これは車輪の再発名なんていう問題じゃないだろ。

すべてのソートにバブルソートを用いるとか、
君がツリーで管理しているデータなんかをすべて、たんなる配列で管理するとか、そういうレベルだろうが。

837 名前:デフォルトの名無しさん :2006/12/09(土) 21:04:43
まぁ、スレ違いの質問するぐらいだから
その程度の知識しか無いんだろ。

838 名前:デフォルトの名無しさん :2006/12/09(土) 21:11:01
>>824
Delphi/BCBなら64KBの制限なくて早いよ('(゚∀゚∩

839 名前:a :2006/12/09(土) 22:28:52
既出かも知れないけど

Microsoft の Windows 開発者 Dave 氏による Windows NT カーネル
解説講義のビデオをストリーミング公開!
http://d.hatena.ne.jp/softether/20061209#p2

840 名前:デフォルトの名無しさん :2006/12/09(土) 23:21:26
俺にとっては既出じゃないからありがとうと言ってやる

841 名前:デフォルトの名無しさん :2006/12/10(日) 00:45:12
カトラーかと思ったら違うのね

842 名前:デフォルトの名無しさん :2006/12/10(日) 01:56:12
>>820
ちなみにProcess Explorerはドライバをロードしているので
自前でカーネル空間から情報収集していると思う。


843 名前:801 :2006/12/10(日) 03:13:03
そうじゃなくて・・・
SUBSTってコマンドとかありますよね。
仮想ドライブにアクセスすると
代わりに実際のフォルダをシステムが提供してくれるわけじゃないですか。
その場合任意のアプリが「だまされる」事になりますよね。
Windows、もしくはデバイスドライバなどの機能でそういった事ができないか、
という質問な訳です。

844 名前:デフォルトの名無しさん :2006/12/10(日) 04:28:34
たぶんできないから、ドライバ書くかAPIフック。

845 名前:デフォルトの名無しさん :2006/12/10(日) 05:15:25
APIフックじゃできない事が大杉。

846 名前:デフォルトの名無しさん :2006/12/10(日) 05:21:28
すなおにドライバ書いた方がよさげ。
ようこそカーネルモードの世界へ。

847 名前:デフォルトの名無しさん :2006/12/10(日) 06:02:37
すいません、教えてください。
win32apiを使って、c言語での処理の仕方を一通り学びました。
で、c言語での処理をしていたら、メッセージが来た時にそこに
長々とした処理を書くしか無い(知識不足ですが)ように思うんですが
api関数をC++で独自でクラス化していく方法は有るんでしょうか。
mfcのヘッダーを見てたら、afx_msgが付いてる関数と#pragma comment(lib, "・・・")が目に付き
で、#pragma commentを見てると、libを#ifdef#undef等で詰め込んでるように
見えます。あとPASCAL形式が気になります。
ついで、afx_msgがmessageに送られるWM_・・・ととらえて良いんでしょうか
なぜ、このような質問をするかというと、単純にMFCがとっつきにくいというか
マクロ等で、フレームワークとその子ウィンドウ、ツールバー等が最初の設定時点で
作成されてしまい、順序としてはフレーム、ビュー(子ウィンドウ)←→ドキュメント
となってるのはわかりますが、マクロや関数が呼ばれていく順序が
Cなら、WinMainのHINCTANCEをグローバルで持っておき、WNDCLASSEXで
RegisterClassExで登録しウィンドウの生成でならまずNULL指定でオーナーとして存在させ・・・
と順に理解できるんですが、MFCだと、どうしても僕のレベルでは可読できません。
どなたか、このページなら参考になるとか、このオープンソースならわかりやすい
と言う物を教えていただけないでしょうか。
初心者の質問でもうしわけありませんが、どなたかお願いいたします。


848 名前:デフォルトの名無しさん :2006/12/10(日) 07:04:57
>>847
まず日本語を勉強しましょう。
言葉を理路整然と書き連ねる工夫をしましょう。
改行を不自然な位置で使用するのをやめましょう。
初心者である事は免罪符になりません。

849 名前:デフォルトの名無しさん :2006/12/10(日) 09:04:48
subst自体は単にDefineDosDeviceを呼んでいるだけ。
もちろん、それで801のやりたいZipをということはできないだろうが。

>>847
> 長々とした処理を書くしか無い
そんなことはない。処理毎に関数を書いて、全てのメッセージの処理を関数呼出だけにすれば、
それだけでウィンドウプロシージャはだいぶすっきりする。
というわけで、とりあえずメッセージクラッカはどうよ。

850 名前:デフォルトの名無しさん :2006/12/10(日) 09:48:54
>>843
いったんどっかの隠しディレクトリに物理的にファイルを展開しておいて
ファイルシステムフィルタドライバでパスをリダイレクトすればできる。
ネットワーク上のファイルをアクセスする時も同じような方法で処理されている。

851 名前:デフォルトの名無しさん :2006/12/10(日) 12:46:32
Windows2000だけどポップアップメニューが馬鹿過ぎる…
フォーカスを失っても閉じないことが結構あるんですが何で?

852 名前:デフォルトの名無しさん :2006/12/10(日) 12:49:31
>>851
タスクトレイの話?
だったら、WM_NULL

853 名前:デフォルトの名無しさん :2006/12/10(日) 13:06:34
> ネットワーク上のファイルをアクセスする時も同じような方法で処理されている。
それはオフラインファイルの場合だけじゃまいか

854 名前:デフォルトの名無しさん :2006/12/10(日) 14:24:34
>>853
自分で作ったもんでもなければクラックして動作確認したわけでもないから
違うかもしれんが、少なくとも俺はそう聞いている。なんでも、ネットワーク
上のものだからいつアクセスできなくなるかわかったもんじゃないし、
第一、ファイルI/Oがある度にネットワーク経由のアクセスしてたんじゃ
パフォーマンスが最悪になるとかで、ネットワーク上のファイルが開かれる
場合はとにかくいったんファイル全体をダウンロードしてしまうらしい。

855 名前:デフォルトの名無しさん :2006/12/10(日) 14:36:34
smbではそんな事してない。

856 名前:デフォルトの名無しさん :2006/12/10(日) 14:40:46
VB NETスレで聞いてみたのですが、.NETでの関数では無理なようなのでここで質問させてください
他のアプリケーションプログラムを起動させたりするのはSystem.Diagnostics.Processで可能らしいのですが入力ボックスに自動で入力したり、ボタンを押したりさせるような
関数とかってWIN32APIで準備されているのでしょうか?


857 名前:デフォルトの名無しさん :2006/12/10(日) 15:00:07
用意されてるよ

858 名前:デフォルトの名無しさん :2006/12/10(日) 15:27:36
>>857
サンクス856です
具体的な関数名を教えてもらえませんか

859 名前:デフォルトの名無しさん :2006/12/10(日) 15:53:51
SendMessage

860 名前:デフォルトの名無しさん :2006/12/10(日) 16:07:44
>>859
どうもありがとう。

861 名前:デフォルトの名無しさん :2006/12/10(日) 16:08:33
>>847
本ならMFCインターナル、ただしこれはもう古いかもしれない。
それかソース追う。ただし全部把握するのはかなり大変。

ドキュメントビューアーキテクチャーは最初はやめた
法がいいと思う。

862 名前:デフォルトの名無しさん :2006/12/10(日) 16:11:51
>>855
smbがそうなっているってだけで関係ねぇだろ。
ちなみにレドモンド帰りのヤツから聞いた話だ。

863 名前:デフォルトの名無しさん :2006/12/10(日) 16:20:45
smb以外のプロトコルでファイルアクセスですかwww

ちなみにレドモンド帰りの知人は何時頃どんな仕事をしていたのですか?
日本人は意外と少ないので知っている人かもしれませんね。

864 名前:デフォルトの名無しさん :2006/12/10(日) 17:11:39
>>863
アホか。プロトコルとしてのsmbの話してるんだったらそれこそ関係ねぇだろ。
クライアント内でファイルをどう扱うかの話なんだから。
MS内ではわりかし有名な人だったみたいだから、本当にドンピシャで誰かわかるかもしれんから教えない。

865 名前:デフォルトの名無しさん :2006/12/10(日) 17:22:26
画像に書かれている文字列をテキストデータとして取り出したいのですが
どうすればいいですか?

866 名前:デフォルトの名無しさん :2006/12/10(日) 17:26:40
入力作業のバイト君を雇うために募集広告を出す。

867 名前:デフォルトの名無しさん :2006/12/10(日) 17:28:24
今から院生になって10年ぐらい研究する。

868 名前:デフォルトの名無しさん :2006/12/10(日) 17:38:46
簡単には無理ってことか…

869 名前:デフォルトの名無しさん :2006/12/10(日) 17:50:59
プリントアウトしてからスキャナにかけてOCRで読み込む

870 名前:デフォルトの名無しさん :2006/12/10(日) 17:53:51
直接画像を OCR かけろw

871 名前:デフォルトの名無しさん :2006/12/10(日) 17:57:37
フリーのOCR APIって無いの?

872 名前:デフォルトの名無しさん :2006/12/10(日) 18:39:13
スレ違い

873 名前:デフォルトの名無しさん :2006/12/10(日) 18:50:24
>>864
> アホか。プロトコルとしてのsmbの話してるんだったらそれこそ関係ねぇだろ。
> クライアント内でファイルをどう扱うかの話なんだから。
だからオフラインファイルだけじゃまいかと言ってるのに

> なんでも、ネットワーク
> 上のものだからいつアクセスできなくなるかわかったもんじゃないし、
> 第一、ファイルI/Oがある度にネットワーク経由のアクセスしてたんじゃ
> パフォーマンスが最悪になるとかで、ネットワーク上のファイルが開かれる
> 場合はとにかくいったんファイル全体をダウンロードしてしまうらしい。
とかオフラインファイルの説明そのものだし。

874 名前:デフォルトの名無しさん :2006/12/10(日) 21:26:37
Cマガジンに続きWindowsDeveloperマガジンまで廃刊とは
もうだめだ
おしまいだ
しぬしかない

875 名前:デフォルトの名無しさん :2006/12/10(日) 21:41:33
WindowsDeveloperマガジンは1年で休刊だと思ったんだがなぁ。
なんでここまでもったのか分らん。

876 名前:デフォルトの名無しさん :2006/12/10(日) 21:46:28
そういえば開発系週刊誌とか皆何読んでたりする?

877 名前:デフォルトの名無しさん :2006/12/10(日) 22:10:40
開発系で週刊誌なんかあったか?

878 名前:デフォルトの名無しさん :2006/12/10(日) 23:13:10
>>864
> アホか。プロトコルとしてのsmbの話してるんだったらそれこそ関係ねぇだろ。

どのプロトコルでアクセスするかによって処理が違うのですけど、ご存じない?

879 名前:820 :2006/12/11(月) 02:40:18
>>842
ありがとう。簡単にはできなさそうか…

880 名前:デフォルトの名無しさん :2006/12/11(月) 04:12:43
隠しAPIだった、APIを使っているとか聞いたことがあるけど。その資料どこだったか見つけられない・・・。
まあインジェクトしてプロセス情報取得でもいけるから、さほど難しくはないよね。

881 名前:デフォルトの名無しさん :2006/12/11(月) 17:29:38
マウスの位置は、GetCursorPosですよね?
マウスボタンの状態を得る方法はありませんか?
イベントハンドラを捕らえるしかないですか?

882 名前:デフォルトの名無しさん :2006/12/11(月) 17:34:30
あ、GetAsyncKeyState(VK_LBUTTON) でいいのか。


883 名前:720 :2006/12/11(月) 22:03:49
タスクバーの非表示はWS_EX_TOOLWINDOW を指定しできたのですが
ダイアログボックスをメインにするにはどうすればいいでしょうか?
”ファイル名を指定して実行”のウインドウみたいにタスクバーに表示されず
ダイアロボックスを表示させたいです。

884 名前:デフォルトの名無しさん :2006/12/11(月) 22:08:58
>>720に付いてるレスをよく見るんだ

885 名前:720 :2006/12/11(月) 22:43:14
モーダルダイアログではメインにできないですか?

886 名前:デフォルトの名無しさん :2006/12/11(月) 23:04:30
Win32プログラミングでペイントに近いソフトを作りたいのですが、
何かおススメの参考書はありますか?
とりあえずWin32APIオフィシャルリファレンス改訂3版グラフィック・GUI編は購入しました

具体的には以下のサイトにあるようなアプリケーションを作成したいと思ってます
http://www.cs.washington.edu/homes/yangli/research/sketchpoint/



887 名前:デフォルトの名無しさん :2006/12/11(月) 23:25:42
gimpとかオープンソースを参考にする と言おうと思ったけど
ペイントならMSDNのサンプルにあったような気がする

888 名前:デフォルトの名無しさん :2006/12/12(火) 03:33:13
マウスキャプチャって他のプロセスにはできないんですか?

889 名前:デフォルトの名無しさん :2006/12/12(火) 06:23:39
>>885
んなこたぁ無いから、黙って>>720に付いてるレスを全部見るんだ

890 名前:デフォルトの名無しさん :2006/12/12(火) 10:45:53
プログラミングWindows 上下
Advanced Windows
MSDNライブラリ
以外でWin32API、SDKプログラミングを学ぶ上で日本語なおすすめ良書教えてください。

891 名前:デフォルトの名無しさん :2006/12/12(火) 10:52:35


892 名前:デフォルトの名無しさん :2006/12/12(火) 11:00:27
猫はWebで十分な気が。
てかプログラミングWindowsで何の不満が‥‥

あとはMFCやVCLのソースくらいじゃないか?日本語じゃないけど。

893 名前:デフォルトの名無しさん :2006/12/12(火) 11:00:30
>プログラミングWindows 上下
>Advanced Windows
>MSDNライブラリ
これだけやったらあとは自分で判断できるだろう
その本持て余すようだったら向いてないからあきらめた方がいい。

894 名前:デフォルトの名無しさん :2006/12/12(火) 11:09:06
>>892
猫シリーズも読みました
丁寧な本だとおもった

>>893
えらく厳しいですね
ほかになんかイイ本ないかなーとおもってきいてます
ある程度読んで実践できるようになったから

895 名前:デフォルトの名無しさん :2006/12/12(火) 11:18:58
>>890
このスレと過去スレ


896 名前:デフォルトの名無しさん :2006/12/12(火) 11:29:21
ある程度読んで実践できるにしては質問が漠然としてる。

897 名前:デフォルトの名無しさん :2006/12/12(火) 11:34:02
>>894
基礎はできてるみたいだから作りたいもの作れ
その都度MSDN等を参照しつつ覚えていけばいい

898 名前:デフォルトの名無しさん :2006/12/12(火) 11:38:04
たぶん本に書いてある範囲ならできるけど、自力では何も作れないタイプ

899 名前:890 :2006/12/12(火) 11:39:33
>>895
みたよ

Amazon見てたときは
Windows Server2003完全技術解説
インサイドMicrosoft Windows
Win32システムサービスプログラミング
とかをよもうとおもいましたがどんなもんでしょ

>>896
みんなどんなのよんでんのかなーとかいうレベルの質問ですよ

>>897
やっぱそうなりますよね
通勤長いんで(90分)本読むんですが、そのとき読みたいなーというかんじ

>>898
想像におまかせ

900 名前:デフォルトの名無しさん :2006/12/12(火) 12:10:15
>>899
批判じゃないけどなんか漠然としてるんだよね
俺も楽しい本探すことが半ば趣味だからこの手のレス書いてみたいともったことはあるし

でも>>892の言うとおりで、ある程度知識吸収すると、
もうテクニック的には適当なソース読むのぐらいしかないんだよね
で、WTLとかWineとかおもしれーぞ、と
始発で座れるならノートにソース落としておくと退屈しねーぞ、と

901 名前:デフォルトの名無しさん :2006/12/12(火) 12:53:09
通勤途中で見るとかなったら、後はアルゴリズム本とか開発系雑誌なんじゃね?

902 名前:デフォルトの名無しさん :2006/12/12(火) 15:48:25
Robbinsのデバッグ本

903 名前:デフォルトの名無しさん :2006/12/12(火) 16:37:53
>>898
俺...orz

904 名前:デフォルトの名無しさん :2006/12/12(火) 17:14:17
実践的なことができるようになったなら本はそろそろ卒業したら?
何か実用的なプログラムのソースコードを読むのはどうかな。
数百〜数千行がいいかな。
きっと本を読んだ程度じゃスッと理解できない事が出てくるよ。
本のサンプルには載らないようなテクニックとかも学べそうだし。

905 名前:デフォルトの名無しさん :2006/12/12(火) 18:00:10
基礎が終わったなら、コーディングスタイルとかの思想的な
部分の勉強もいいいけどスレ違いだな。

906 名前:デフォルトの名無しさん :2006/12/12(火) 18:45:29
>みんなどんなのよんでんのかなーとかいうレベルの質問ですよ
本は読まないよ。
本に載る程度の簡単な内容ならネット上にごろごろ解説サイトがあるし。
詳しさを求めるならMSDN読むし。

907 名前:デフォルトの名無しさん :2006/12/12(火) 18:46:17
>>900さんの見てふと思った。
このソースは読んどけ、みたいなお勧めはありますか?

908 名前:デフォルトの名無しさん :2006/12/12(火) 19:53:14
自分のレベルに合ったソースじゃないと意味がないし
何のためにプログラムを勉強するのかにもよる
目的すら無いならやめちまえ

909 名前:デフォルトの名無しさん :2006/12/12(火) 19:58:05
半年前の自分のソースを読むといいってのをスラドで見かけた。


910 名前:デフォルトの名無しさん :2006/12/12(火) 20:15:26
勉強中だと半年前の自分のソースって見てて恥ずかしくなるよね。

911 名前:デフォルトの名無しさん :2006/12/12(火) 20:39:02
勉強初めて3ヶ月余りの俺は(ry

912 名前:デフォルトの名無しさん :2006/12/12(火) 21:03:56
WinMainにシューティングゲームのソース1万行を全て書いていた俺

913 名前:デフォルトの名無しさん :2006/12/12(火) 21:33:12
目くそが鼻くそをばかにしててワロタ

914 名前:デフォルトの名無しさん :2006/12/13(水) 00:19:04
↑のどくそ

915 名前:デフォルトの名無しさん :2006/12/13(水) 01:14:41
>>912
俺と同じ事してる奴がいるとはwwwwwwwwww
引数付関数なんてほとんど作ってなかった俺wwwwwwwww

916 名前:デフォルトの名無しさん :2006/12/13(水) 08:30:44
>>912
メッセージの処理をどうやってたのか疑問

917 名前:デフォルトの名無しさん :2006/12/13(水) 08:43:39
>>916
自前でループ回して
GetAsyncKeyStateとか使ってたんじゃないのw
WM_CLOSE拾えないから少なくともクローズボックスは反応しないな。

918 名前:890 :2006/12/13(水) 08:52:35
>>891-917
なるほど。プログラミングWindowsやAdvancedWindowsみたいな入門書ではなく、
入門書の次に読むような本を期待していたんですがないんですね。
Windows、SDKとかの知識を深めようとおもったら、MSDN読み、人のソース読みしかなくなるっぽいので、
通勤にノートPCの導入を考えてみます。参考になりました。ありがとうございます。

919 名前:デフォルトの名無しさん :2006/12/13(水) 09:02:53
Advanced Windowsが入門書…?

>>918
もう知ってるとおもうけどMSDNは日本語でおkな文面が多いから読むには結構気合が居るぞ。
あとこれは個人的な意見でしかないから深く考えないで欲しいんだが
電車の中とかでノート開いてる人ってキモくないか…?

920 名前:デフォルトの名無しさん :2006/12/13(水) 09:13:58
>>919
ぁぁ、キモイとおもう。けど、知識はほしいから天秤にかけたら知識に成った。
すでにDELLに発注してしまった。自分のキモサが+1された。

921 名前:デフォルトの名無しさん :2006/12/13(水) 09:23:31
>919
あどばんすどういんどうずハにゅうもんしょデス
ほんとうニミタコトアリマスカ
かくしょうのタイトルをみてみましょう

922 名前:デフォルトの名無しさん :2006/12/13(水) 12:10:52
ttp://pc8.2ch.net/test/read.cgi/tech/1164376287/から誘導されてきました。

 SetWindowsHookExとWH_CALLWNDPROCを使ってよそのプロセスに送られるメッセージを
見ることができるようになったのですが、この方法だとメッセージを見るだけで変更することが出来ません。
 一部のメッセージ(WM_KILLFOCUS)が渡されることを阻止したいのですが、どうすればいいでしょうか?

923 名前:デフォルトの名無しさん :2006/12/13(水) 12:21:22
>>922
WH_CBTを使うとか

924 名前:デフォルトの名無しさん :2006/12/13(水) 12:55:46
WH_CBTはWM_KILLFOCUSを扱ってくれないんですよ。

925 名前:デフォルトの名無しさん :2006/12/13(水) 12:58:02
殺したいメッセージはWM_NULL二置換するとかいう方法もあるらしい
やったことないけど

926 名前:デフォルトの名無しさん :2006/12/13(水) 14:18:14
WH_CALLWNDPROCじゃメッセージ書き換えも破棄も無理だった気がする
WH_GETMESSAGEならできたと思うけど

927 名前:デフォルトの名無しさん :2006/12/13(水) 15:14:23
サービスからアプリケーションにメッセージを送るため、ウィンドウハンドルを
探したのですが見つかりません。どこにあるんでしょ・・・。(環境:Vista)


928 名前:デフォルトの名無しさん :2006/12/13(水) 16:18:03
どんなウィンドウをどうやって探してたのよ。

929 名前:デフォルトの名無しさん :2006/12/13(水) 16:20:38
ウィンドウハンドルがどこにあるのか、という疑問が出る時点で何かがおかしい気がする

930 名前:デフォルトの名無しさん :2006/12/13(水) 16:22:40
notepadのウィンドウをEnumWindowで列挙して探してました。

931 名前:デフォルトの名無しさん :2006/12/13(水) 16:44:12
FindWindowを知らないでEnumWindowでガリガリやるヤツなんて初めて見た

932 名前:デフォルトの名無しさん :2006/12/13(水) 17:00:16
ウィンドウタイトルとか可変なのでEnumWindowで列挙してexeのフルパスで検索してたのです。

933 名前:デフォルトの名無しさん :2006/12/13(水) 17:05:04
クラス名で検索できないの?

934 名前:デフォルトの名無しさん :2006/12/13(水) 17:09:25
テストでnotepadを対象にしてたのですがクラス名も不明というか可変なので・・・。

935 名前:デフォルトの名無しさん :2006/12/13(水) 17:26:17
Vista以外では動いてんの?
サービス(違うユーザー)からのEnumWindows等はできなくなったんじゃない?


936 名前:デフォルトの名無しさん :2006/12/13(水) 17:35:11
ちょwwww
クラス名も可変ってwwww
何言ってんだwwww

それとも、vistaから可変になったのか?

937 名前:デフォルトの名無しさん :2006/12/13(水) 17:42:08
.netアプリは可変だな

938 名前:デフォルトの名無しさん :2006/12/13(水) 17:46:36
xpでは動いてました。

939 名前:デフォルトの名無しさん :2006/12/13(水) 17:49:36
EnumWindowsProcにハンドルって返ってきてるんじゃマイカ?

940 名前:デフォルトの名無しさん :2006/12/13(水) 17:58:36
ウインドウのクライアント領域の左上の座標はとることはできないでしょうか?
GetWindowRectで取得したRect.Left及び、Rect.Topは、ウインドウの左上のようです。
クライアント内の座標がほしいです。

941 名前:デフォルトの名無しさん :2006/12/13(水) 18:01:00
>>940 Rect の意味を調べればわかるはず

942 名前:デフォルトの名無しさん :2006/12/13(水) 18:02:17
読み間違えた。ごめん。
GetWindowRectに対して、ゲットクライアントレクト(つづり忘れた)があるよ。

943 名前:デフォルトの名無しさん :2006/12/13(水) 18:05:47
まぁGetClientRectのLeft:Topは0だけどな

944 名前:デフォルトの名無しさん :2006/12/13(水) 18:06:03
わかった。
ClientToScreenに、0, 0 の座標を渡せばいいんですね。
なあんだ、こんなことか。

945 名前:デフォルトの名無しさん :2006/12/13(水) 18:09:51
まぁ、概それでいいんだが
GetClientRectの結果を渡した方が、何かあった時困らなくていいと思うけどな

946 名前:デフォルトの名無しさん :2006/12/13(水) 18:15:25
>>922-926
フックして潜り込んだ後、サブクラス化してしまえばどうにでもなるのでは?

947 名前:922 :2006/12/13(水) 20:02:40
>>946
それだ。
何とかうまく行ったよ、サンクス。

948 名前:デフォルトの名無しさん :2006/12/13(水) 22:41:30
ShellExecuteExでhtmlを開きたいのですが、
どうもVistaで動作しません。
対策を御存知の方はいらっしゃらないでしょうか。


SHELLEXECUTEINFO sei;
ZeroMemory(&sei, sizeof(sei));

sei.cbSize = sizeof(sei);
sei.fMask = SEE_MASK_NOCLOSEPROCESS;
sei.hwnd = 0;
sei.lpVerb = "open";
sei.lpFile = FileName;
sei.lpParameters = NULL;
sei.lpDirectory = NULL;
sei.nShow = SW_NORMAL;

ShellExecuteEx( &sei );


FileNameが".\\xxx.txt"だとしっかりメモ帳が開きますが、
FileNameが".\\xxx.html"だとIEが開いてくれない。。


949 名前:デフォルトの名無しさん :2006/12/13(水) 22:42:47
対策:Vistaを使わなければいい

950 名前:デフォルトの名無しさん :2006/12/14(木) 00:24:50
>>948
verbが"open"で登録されてないんじゃないか?

sei.lpVerb = NULL;

で、やってみ?

951 名前:デフォルトの名無しさん :2006/12/14(木) 01:02:22
ochinchin.h を omanko.cpp に #include したのに IsDoutei() で TRUE が返って来るんですが。

952 名前:デフォルトの名無しさん :2006/12/14(木) 01:26:52
>>948
sei.lpIDList

953 名前:デフォルトの名無しさん :2006/12/14(木) 01:28:38
>>917
WM_CLOSE、WM_COMMANDを拾えないのホント不便だよな。

954 名前:デフォルトの名無しさん :2006/12/14(木) 01:30:07
>>951
omanko.cppをよく見ろ

#if AGE <= SYOUGAKUSEI
#include "ochinchin.h"
#else
#error doutei ga yurusareru noha syougakusei made dayone
#endif

955 名前:デフォルトの名無しさん :2006/12/14(木) 09:05:51
SendMessage(GetDlgItem(hWnd,CTR_LIST),LB_ADDSTRING,0,(LPARAM)"TEST");
で、LISTBOXにアイテムを追加したいのですが、
Windowプロシージャの中に書かないとLISTBOXにアイテムが追加されません。
Windowプロシージャの外からはできないのでしょうか

956 名前:デフォルトの名無しさん :2006/12/14(木) 10:07:32
Windowプロシージャの外ってどこだ?
その場合ちゃんとウィンドウハンドルはとれてるのか?

957 名前:デフォルトの名無しさん :2006/12/14(木) 10:40:57
フロントエンドアプリを作りたいのですが、
コンソールアプリを実行して、コンソールに表示される文字列を拾ってくるには
どうやったらいいのでしょうか?

958 名前:デフォルトの名無しさん :2006/12/14(木) 11:01:53
>>957
パイプ

959 名前:デフォルトの名無しさん :2006/12/14(木) 13:48:22
ShellExecuteでホームページを

960 名前:デフォルトの名無しさん :2006/12/14(木) 13:51:34
その後>>959の姿を見た者は誰もいなk

961 名前:デフォルトの名無しさん :2006/12/14(木) 13:57:14
httpプロトコルに関連付けられたブラウザを調べるにはどうすればいいですか?

962 名前:デフォルトの名無しさん :2006/12/14(木) 13:59:43
>>961
>httpプロトコルに関連付けられたブラウザ
意味不明

963 名前:デフォルトの名無しさん :2006/12/14(木) 14:02:03
>>962
例えば
ShellExecute(NULL, "open", "http://www.google.co.jp/", NULL, NULL, SW_SHOWNORMAL)
ってやったら漏れの場合operaが開くんですが、
開く前にどのブラウザが関連付けられているか調べたいのです。

964 名前:デフォルトの名無しさん :2006/12/14(木) 14:10:32
>>963
HKEY_CLASSES_ROOT\http\shell\open\command
HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Application

このへん

965 名前:デフォルトの名無しさん :2006/12/14(木) 14:21:38
>>964
ありがddd

966 名前:デフォルトの名無しさん :2006/12/14(木) 14:36:57
個人的にはFindExecutableの方が好み。

レジストリのHKEY_CLASSES_ROOT\http\shell\openとかいう部分は
95からvistaまで同じなんだろうか?

967 名前:デフォルトの名無しさん :2006/12/14(木) 14:46:36
>>966
それ、試してから言ってる?

ローカルの.htmlならそれでいけるだろうけどねー

968 名前:デフォルトの名無しさん :2006/12/14(木) 14:51:00
勘違いスマソ

969 名前:デフォルトの名無しさん :2006/12/14(木) 16:37:15
デフォルトのVerbがopenでない可能性もあるよね。
HKEY_CLASSES_ROOT\htmlfile\shellの既定の値も見ないと。


970 名前:デフォルトの名無しさん :2006/12/14(木) 16:39:21
間違えた。
HKEY_CLASSES_ROOT\HTTP\shellの既定の値。

971 名前:デフォルトの名無しさん :2006/12/14(木) 17:15:28
>>955
hWndが適切な値になってないだけとか。

972 名前:デフォルトの名無しさん :2006/12/14(木) 17:32:49
>>969-970
>>963は"open"と指定してるから既定値みる必要ないんでない?

973 名前:デフォルトの名無しさん :2006/12/14(木) 22:02:58
タブ付?リストボックスの作り方がいまいちよくわからないのですが
教えていただけませんか?

エクセルでいうなら一番上のA,B,Cとかいう選択できるタブみたいな奴なんですが
うまく言葉で表せれないorz

974 名前:973 :2006/12/14(木) 22:19:08
こういうのです
http://chiffon.ty.land.to/src/Chiffontea0457.bmp

975 名前:デフォルトの名無しさん :2006/12/14(木) 22:23:03
>>973
ListViewでググれ

976 名前:デフォルトの名無しさん :2006/12/14(木) 22:26:52
>>927
ヒント: ウィンドウステーションとデスクトップ

977 名前:973 :2006/12/14(木) 22:30:33
>>975,976
うおおおおう!!
ありがとうごぜぇますだ!!!リストビューって名前だったのね

978 名前:610 :2006/12/15(金) 00:22:48
>>976
ヒント:対話的?

979 名前:デフォルトの名無しさん :2006/12/15(金) 08:48:46
閉じたウィンドウの、ウィンドウハンドルの値って、他のウィンドウが生成される際に再利用されるんでしょうか?
というか、されると思うのですが、それって、直ぐに再利用の対象になるのでしょうか?それともずっと後になるのでしょうか?

980 名前:デフォルトの名無しさん :2006/12/15(金) 09:42:30
デバッガ持ってないの?

981 名前:デフォルトの名無しさん :2006/12/15(金) 10:54:23
>>979
システムによるし、そういうのを前提としたものを作ってはいけない

982 名前:デフォルトの名無しさん :2006/12/15(金) 14:59:13
MSDN見てたら

Microsoft is conducting an online survey to understand use of MSDN Online.
We’d like to see which pages you visit today and then have you complete a
survey when you leave MSDN Online. Would you like to participate?

ってウインドウが突然上から降りてきて死ぬほどびびった〜

ええかげんにせえよ心臓止まるかと


983 名前:デフォルトの名無しさん :2006/12/15(金) 15:14:07
メインウィンドウに貼り付けてあるリストボックスで、
項目がダブルクリックされたときにだけイベントを発生させるにはどうすればいいのでしょうか

984 名前:デフォルトの名無しさん :2006/12/15(金) 15:31:53
WM_COMMAND
LBN_DBLCLK

985 名前:デフォルトの名無しさん :2006/12/15(金) 15:41:42
>>984
case WM_COMMAND:
  switch(LOWORD(wParam)) {
    case .....
となっているのですが、switch(LOWORD(wParam)){
のcaseに
case LBN_DBLCLKを書くんですか?
それとも、case リスト:内にif文を書くんですか?

986 名前:デフォルトの名無しさん :2006/12/15(金) 15:50:32
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/menus/menureference/menumessages/wm_command.asp

987 名前:デフォルトの名無しさん :2006/12/15(金) 16:54:28
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/listboxes/listboxreference/listboxmessages/lbn_dblclk.asp

988 名前:デフォルトの名無しさん :2006/12/15(金) 17:19:58
ほんとにウィンドウ降ってきてワロタ

>>990
次スレよろしく

989 名前:デフォルトの名無しさん :2006/12/15(金) 17:20:37
駄目だ・・・・キレそう・・・プチッと。

990 名前:デフォルトの名無しさん :2006/12/15(金) 17:41:42
次スレ

Win32API質問箱 Build48
ttp://pc8.2ch.net/test/read.cgi/tech/1166172047/

991 名前:デフォルトの名無しさん :2006/12/15(金) 17:49:28


992 名前:979 :2006/12/15(金) 17:51:29
>>980
デバッガなどで表示して、しばらく確認した感じだと、
うちの環境(XP SP2)では、再利用されているのは無かったんですが、
そのへんの仕様が知りたいなと思いまして・・・

>>981
ごもっともです。。
他プロセスのウィンドウを区別するのに、一番手軽なので、
ウィンドウハンドルをキーにしていたのですが、考え直そうと思います。
今後の参考に、「システムによる」の部分を教えていただけると嬉しいです。


993 名前:デフォルトの名無しさん :2006/12/15(金) 18:33:35
いつ128ビットモードで動くんだ?

994 名前:デフォルトの名無しさん :2006/12/15(金) 18:40:50
>>992
Win16とWin32でメモリ空間の扱いがかわったからね。

995 名前:デフォルトの名無しさん :2006/12/15(金) 20:16:18
>>992
GetWindowThreadProcessId()
ただしIDもプロセスが終了してすべてのハンドルが閉じられると再利用されるので
それが困る場合はプロセスハンドルを1つは開いておくように

996 名前:デフォルトの名無しさん :2006/12/15(金) 20:53:14
1000ならバグが3個減る。

997 名前:デフォルトの名無しさん :2006/12/15(金) 20:56:33
絶対無理。

998 名前:デフォルトの名無しさん :2006/12/15(金) 20:59:04
998ならバグがあと998,998個

999 名前:デフォルトの名無しさん :2006/12/15(金) 21:01:08
1000なら1ヶ月ぶりに休みが取れる…

1000 名前:デフォルトの名無しさん :2006/12/15(金) 21:07:22
if(line==1000)goto 次スレ


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