Win32API質問箱 Build47
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
2006/11/13(月) 08:56:12やさしいお兄さんやお姉さんたちが答えてくれるかも。
過去スレ、関連リンクは>>2-5くらい。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版(http://msdn.microsoft.com/library/)の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
0830デフォルトの名無しさん
2006/12/09(土) 19:44:16Get/WritePrivateProfile系APIでの読み書きしてるなら絶対遅いよ。
内部で1行ごとにOpen/Closeされてるだろうし..
0831デフォルトの名無しさん
2006/12/09(土) 19:49:080832デフォルトの名無しさん
2006/12/09(土) 19:52:04RUBY最強だけどね
0833デフォルトの名無しさん
2006/12/09(土) 19:55:250834デフォルトの名無しさん
2006/12/09(土) 20:06:19ちゃんとしたやり方 or もっとスマートなやり方があるかも知れんけど、
SetWindowsHook系のAPI使うなりなんなりして自前のDLLを調べたい
プロセスにロードさせてやればそのDLLから取得できるべ。
0835デフォルトの名無しさん
2006/12/09(土) 20:08:18GlobalMemoryStatus
0836デフォルトの名無しさん
2006/12/09(土) 21:02:27これは車輪の再発名なんていう問題じゃないだろ。
すべてのソートにバブルソートを用いるとか、
君がツリーで管理しているデータなんかをすべて、たんなる配列で管理するとか、そういうレベルだろうが。
0837デフォルトの名無しさん
2006/12/09(土) 21:04:43その程度の知識しか無いんだろ。
0838デフォルトの名無しさん
2006/12/09(土) 21:11:01Delphi/BCBなら64KBの制限なくて早いよ('(゚∀゚∩
0839a
2006/12/09(土) 22:28:52Microsoft の Windows 開発者 Dave 氏による Windows NT カーネル
解説講義のビデオをストリーミング公開!
http://d.hatena.ne.jp/softether/20061209#p2
0840デフォルトの名無しさん
2006/12/09(土) 23:21:260841デフォルトの名無しさん
2006/12/10(日) 00:45:120842デフォルトの名無しさん
2006/12/10(日) 01:56:12ちなみにProcess Explorerはドライバをロードしているので
自前でカーネル空間から情報収集していると思う。
0843801
2006/12/10(日) 03:13:03SUBSTってコマンドとかありますよね。
仮想ドライブにアクセスすると
代わりに実際のフォルダをシステムが提供してくれるわけじゃないですか。
その場合任意のアプリが「だまされる」事になりますよね。
Windows、もしくはデバイスドライバなどの機能でそういった事ができないか、
という質問な訳です。
0844デフォルトの名無しさん
2006/12/10(日) 04:28:340845デフォルトの名無しさん
2006/12/10(日) 05:15:250846デフォルトの名無しさん
2006/12/10(日) 05:21:28ようこそカーネルモードの世界へ。
0847デフォルトの名無しさん
2006/12/10(日) 06:02:37win32apiを使って、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だと、どうしても僕のレベルでは可読できません。
どなたか、このページなら参考になるとか、このオープンソースならわかりやすい
と言う物を教えていただけないでしょうか。
初心者の質問でもうしわけありませんが、どなたかお願いいたします。
0848デフォルトの名無しさん
2006/12/10(日) 07:04:57まず日本語を勉強しましょう。
言葉を理路整然と書き連ねる工夫をしましょう。
改行を不自然な位置で使用するのをやめましょう。
初心者である事は免罪符になりません。
0849デフォルトの名無しさん
2006/12/10(日) 09:04:48もちろん、それで801のやりたいZipをということはできないだろうが。
>>847
> 長々とした処理を書くしか無い
そんなことはない。処理毎に関数を書いて、全てのメッセージの処理を関数呼出だけにすれば、
それだけでウィンドウプロシージャはだいぶすっきりする。
というわけで、とりあえずメッセージクラッカはどうよ。
0850デフォルトの名無しさん
2006/12/10(日) 09:48:54いったんどっかの隠しディレクトリに物理的にファイルを展開しておいて
ファイルシステムフィルタドライバでパスをリダイレクトすればできる。
ネットワーク上のファイルをアクセスする時も同じような方法で処理されている。
0851デフォルトの名無しさん
2006/12/10(日) 12:46:32フォーカスを失っても閉じないことが結構あるんですが何で?
0852デフォルトの名無しさん
2006/12/10(日) 12:49:31タスクトレイの話?
だったら、WM_NULL
0853デフォルトの名無しさん
2006/12/10(日) 13:06:34それはオフラインファイルの場合だけじゃまいか
0854デフォルトの名無しさん
2006/12/10(日) 14:24:34自分で作ったもんでもなければクラックして動作確認したわけでもないから
違うかもしれんが、少なくとも俺はそう聞いている。なんでも、ネットワーク
上のものだからいつアクセスできなくなるかわかったもんじゃないし、
第一、ファイルI/Oがある度にネットワーク経由のアクセスしてたんじゃ
パフォーマンスが最悪になるとかで、ネットワーク上のファイルが開かれる
場合はとにかくいったんファイル全体をダウンロードしてしまうらしい。
0855デフォルトの名無しさん
2006/12/10(日) 14:36:340856デフォルトの名無しさん
2006/12/10(日) 14:40:46他のアプリケーションプログラムを起動させたりするのはSystem.Diagnostics.Processで可能らしいのですが入力ボックスに自動で入力したり、ボタンを押したりさせるような
関数とかってWIN32APIで準備されているのでしょうか?
0857デフォルトの名無しさん
2006/12/10(日) 15:00:070858デフォルトの名無しさん
2006/12/10(日) 15:27:36サンクス856です
具体的な関数名を教えてもらえませんか
0859デフォルトの名無しさん
2006/12/10(日) 15:53:510860デフォルトの名無しさん
2006/12/10(日) 16:07:44どうもありがとう。
0861デフォルトの名無しさん
2006/12/10(日) 16:08:33本ならMFCインターナル、ただしこれはもう古いかもしれない。
それかソース追う。ただし全部把握するのはかなり大変。
ドキュメントビューアーキテクチャーは最初はやめた
法がいいと思う。
0862デフォルトの名無しさん
2006/12/10(日) 16:11:51smbがそうなっているってだけで関係ねぇだろ。
ちなみにレドモンド帰りのヤツから聞いた話だ。
0863デフォルトの名無しさん
2006/12/10(日) 16:20:45ちなみにレドモンド帰りの知人は何時頃どんな仕事をしていたのですか?
日本人は意外と少ないので知っている人かもしれませんね。
0864デフォルトの名無しさん
2006/12/10(日) 17:11:39アホか。プロトコルとしてのsmbの話してるんだったらそれこそ関係ねぇだろ。
クライアント内でファイルをどう扱うかの話なんだから。
MS内ではわりかし有名な人だったみたいだから、本当にドンピシャで誰かわかるかもしれんから教えない。
0865デフォルトの名無しさん
2006/12/10(日) 17:22:26どうすればいいですか?
0866デフォルトの名無しさん
2006/12/10(日) 17:26:400867デフォルトの名無しさん
2006/12/10(日) 17:28:240868デフォルトの名無しさん
2006/12/10(日) 17:38:460869デフォルトの名無しさん
2006/12/10(日) 17:50:590870デフォルトの名無しさん
2006/12/10(日) 17:53:510871デフォルトの名無しさん
2006/12/10(日) 17:57:370872デフォルトの名無しさん
2006/12/10(日) 18:39:130873デフォルトの名無しさん
2006/12/10(日) 18:50:24> アホか。プロトコルとしてのsmbの話してるんだったらそれこそ関係ねぇだろ。
> クライアント内でファイルをどう扱うかの話なんだから。
だからオフラインファイルだけじゃまいかと言ってるのに
> なんでも、ネットワーク
> 上のものだからいつアクセスできなくなるかわかったもんじゃないし、
> 第一、ファイルI/Oがある度にネットワーク経由のアクセスしてたんじゃ
> パフォーマンスが最悪になるとかで、ネットワーク上のファイルが開かれる
> 場合はとにかくいったんファイル全体をダウンロードしてしまうらしい。
とかオフラインファイルの説明そのものだし。
0874デフォルトの名無しさん
2006/12/10(日) 21:26:37もうだめだ
おしまいだ
しぬしかない
0875デフォルトの名無しさん
2006/12/10(日) 21:41:33なんでここまでもったのか分らん。
0876デフォルトの名無しさん
2006/12/10(日) 21:46:280877デフォルトの名無しさん
2006/12/10(日) 22:10:400878デフォルトの名無しさん
2006/12/10(日) 23:13:10> アホか。プロトコルとしてのsmbの話してるんだったらそれこそ関係ねぇだろ。
どのプロトコルでアクセスするかによって処理が違うのですけど、ご存じない?
0880デフォルトの名無しさん
2006/12/11(月) 04:12:43まあインジェクトしてプロセス情報取得でもいけるから、さほど難しくはないよね。
0881デフォルトの名無しさん
2006/12/11(月) 17:29:38マウスボタンの状態を得る方法はありませんか?
イベントハンドラを捕らえるしかないですか?
0882デフォルトの名無しさん
2006/12/11(月) 17:34:300883720
2006/12/11(月) 22:03:49ダイアログボックスをメインにするにはどうすればいいでしょうか?
”ファイル名を指定して実行”のウインドウみたいにタスクバーに表示されず
ダイアロボックスを表示させたいです。
0884デフォルトの名無しさん
2006/12/11(月) 22:08:580885720
2006/12/11(月) 22:43:140886デフォルトの名無しさん
2006/12/11(月) 23:04:30何かおススメの参考書はありますか?
とりあえずWin32APIオフィシャルリファレンス改訂3版グラフィック・GUI編は購入しました
具体的には以下のサイトにあるようなアプリケーションを作成したいと思ってます
http://www.cs.washington.edu/homes/yangli/research/sketchpoint/
0887デフォルトの名無しさん
2006/12/11(月) 23:25:42ペイントならMSDNのサンプルにあったような気がする
0888デフォルトの名無しさん
2006/12/12(火) 03:33:130889デフォルトの名無しさん
2006/12/12(火) 06:23:39んなこたぁ無いから、黙って>>720に付いてるレスを全部見るんだ
0890デフォルトの名無しさん
2006/12/12(火) 10:45:53Advanced Windows
MSDNライブラリ
以外でWin32API、SDKプログラミングを学ぶ上で日本語なおすすめ良書教えてください。
0891デフォルトの名無しさん
2006/12/12(火) 10:52:350892デフォルトの名無しさん
2006/12/12(火) 11:00:27てかプログラミングWindowsで何の不満が‥‥
あとはMFCやVCLのソースくらいじゃないか?日本語じゃないけど。
0893デフォルトの名無しさん
2006/12/12(火) 11:00:30>Advanced Windows
>MSDNライブラリ
これだけやったらあとは自分で判断できるだろう
その本持て余すようだったら向いてないからあきらめた方がいい。
0894デフォルトの名無しさん
2006/12/12(火) 11:09:06猫シリーズも読みました
丁寧な本だとおもった
>>893
えらく厳しいですね
ほかになんかイイ本ないかなーとおもってきいてます
ある程度読んで実践できるようになったから
0895デフォルトの名無しさん
2006/12/12(火) 11:18:58このスレと過去スレ
0896デフォルトの名無しさん
2006/12/12(火) 11:29:210897デフォルトの名無しさん
2006/12/12(火) 11:34:02基礎はできてるみたいだから作りたいもの作れ
その都度MSDN等を参照しつつ覚えていけばいい
0898デフォルトの名無しさん
2006/12/12(火) 11:38:040899890
2006/12/12(火) 11:39:33みたよ
Amazon見てたときは
Windows Server2003完全技術解説
インサイドMicrosoft Windows
Win32システムサービスプログラミング
とかをよもうとおもいましたがどんなもんでしょ
>>896
みんなどんなのよんでんのかなーとかいうレベルの質問ですよ
>>897
やっぱそうなりますよね
通勤長いんで(90分)本読むんですが、そのとき読みたいなーというかんじ
>>898
想像におまかせ
0900デフォルトの名無しさん
2006/12/12(火) 12:10:15批判じゃないけどなんか漠然としてるんだよね
俺も楽しい本探すことが半ば趣味だからこの手のレス書いてみたいともったことはあるし
でも>>892の言うとおりで、ある程度知識吸収すると、
もうテクニック的には適当なソース読むのぐらいしかないんだよね
で、WTLとかWineとかおもしれーぞ、と
始発で座れるならノートにソース落としておくと退屈しねーぞ、と
0901デフォルトの名無しさん
2006/12/12(火) 12:53:090902デフォルトの名無しさん
2006/12/12(火) 15:48:250903デフォルトの名無しさん
2006/12/12(火) 16:37:53俺...orz
0904デフォルトの名無しさん
2006/12/12(火) 17:14:17何か実用的なプログラムのソースコードを読むのはどうかな。
数百〜数千行がいいかな。
きっと本を読んだ程度じゃスッと理解できない事が出てくるよ。
本のサンプルには載らないようなテクニックとかも学べそうだし。
0905デフォルトの名無しさん
2006/12/12(火) 18:00:10部分の勉強もいいいけどスレ違いだな。
0906デフォルトの名無しさん
2006/12/12(火) 18:45:29本は読まないよ。
本に載る程度の簡単な内容ならネット上にごろごろ解説サイトがあるし。
詳しさを求めるならMSDN読むし。
0907デフォルトの名無しさん
2006/12/12(火) 18:46:17このソースは読んどけ、みたいなお勧めはありますか?
0908デフォルトの名無しさん
2006/12/12(火) 19:53:14何のためにプログラムを勉強するのかにもよる
目的すら無いならやめちまえ
0909デフォルトの名無しさん
2006/12/12(火) 19:58:050910デフォルトの名無しさん
2006/12/12(火) 20:15:260911デフォルトの名無しさん
2006/12/12(火) 20:39:020912デフォルトの名無しさん
2006/12/12(火) 21:03:560913デフォルトの名無しさん
2006/12/12(火) 21:33:120914デフォルトの名無しさん
2006/12/13(水) 00:19:040915デフォルトの名無しさん
2006/12/13(水) 01:14:41俺と同じ事してる奴がいるとはwwwwwwwwww
引数付関数なんてほとんど作ってなかった俺wwwwwwwww
0916デフォルトの名無しさん
2006/12/13(水) 08:30:44メッセージの処理をどうやってたのか疑問
0917デフォルトの名無しさん
2006/12/13(水) 08:43:39自前でループ回して
GetAsyncKeyStateとか使ってたんじゃないのw
WM_CLOSE拾えないから少なくともクローズボックスは反応しないな。
0918890
2006/12/13(水) 08:52:35なるほど。プログラミングWindowsやAdvancedWindowsみたいな入門書ではなく、
入門書の次に読むような本を期待していたんですがないんですね。
Windows、SDKとかの知識を深めようとおもったら、MSDN読み、人のソース読みしかなくなるっぽいので、
通勤にノートPCの導入を考えてみます。参考になりました。ありがとうございます。
0919デフォルトの名無しさん
2006/12/13(水) 09:02:53>>918
もう知ってるとおもうけどMSDNは日本語でおkな文面が多いから読むには結構気合が居るぞ。
あとこれは個人的な意見でしかないから深く考えないで欲しいんだが
電車の中とかでノート開いてる人ってキモくないか…?
0920デフォルトの名無しさん
2006/12/13(水) 09:13:58ぁぁ、キモイとおもう。けど、知識はほしいから天秤にかけたら知識に成った。
すでにDELLに発注してしまった。自分のキモサが+1された。
0921デフォルトの名無しさん
2006/12/13(水) 09:23:31あどばんすどういんどうずハにゅうもんしょデス
ほんとうニミタコトアリマスカ
かくしょうのタイトルをみてみましょう
0922デフォルトの名無しさん
2006/12/13(水) 12:10:52SetWindowsHookExとWH_CALLWNDPROCを使ってよそのプロセスに送られるメッセージを
見ることができるようになったのですが、この方法だとメッセージを見るだけで変更することが出来ません。
一部のメッセージ(WM_KILLFOCUS)が渡されることを阻止したいのですが、どうすればいいでしょうか?
0923デフォルトの名無しさん
2006/12/13(水) 12:21:22WH_CBTを使うとか
0924デフォルトの名無しさん
2006/12/13(水) 12:55:460925デフォルトの名無しさん
2006/12/13(水) 12:58:02やったことないけど
0926デフォルトの名無しさん
2006/12/13(水) 14:18:14WH_GETMESSAGEならできたと思うけど
0927デフォルトの名無しさん
2006/12/13(水) 15:14:23探したのですが見つかりません。どこにあるんでしょ・・・。(環境:Vista)
0928デフォルトの名無しさん
2006/12/13(水) 16:18:030929デフォルトの名無しさん
2006/12/13(水) 16:20:38レス数が900を超えています。1000を超えると表示できなくなるよ。