Win32API質問箱 Build91
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2010/11/08(月) 02:01:42やさしいお兄さんやHなお姉さんたちが答えてくれるかも。
「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ!
■過去スレ
Win32API質問箱 Build90
http://hibari.2ch.net/test/read.cgi/tech/1287205063/
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
- Win32API質問箱 wiki
http://wiki.livedoor.jp/program1/d/FrontPage
過去スレはwikiから探してください。
0002デフォルトの名無しさん
2010/11/08(月) 02:02:040003デフォルトの名無しさん
2010/11/08(月) 02:06:550004デフォルトの名無しさん
2010/11/08(月) 02:07:310005デフォルトの名無しさん
2010/11/08(月) 02:08:220006デフォルトの名無しさん
2010/11/08(月) 02:09:200007デフォルトの名無しさん
2010/11/08(月) 02:11:41まあ、GetDC(GetDesktopWindow())でスクリーン全体とって切り出しすればとりあえずはOKそうだな。前スレ>>939を参考にする限り。
ありがとうございました。
0008デフォルトの名無しさん
2010/11/08(月) 02:11:57記憶を消去しました.
Brain>_
0009デフォルトの名無しさん
2010/11/08(月) 02:13:22http://studiokingyo.fc2web.com/
0010デフォルトの名無しさん
2010/11/08(月) 02:16:02http://studiokingyo.fc2web.com/
0011デフォルトの名無しさん
2010/11/08(月) 02:16:45http://studiokingyo.fc2web.com/
0012デフォルトの名無しさん
2010/11/08(月) 02:18:360013デフォルトの名無しさん
2010/11/08(月) 02:18:36( ゚д゚ )
¶ノ ¶ノ |
/ ̄ ̄ ̄ ̄ ̄\
./ (,) (,) ヽ
| | ̄| |
ヽ  ̄ ̄ /
| | | | |
.ノ .ノ ヽ ノ .ノ .|
(_ノ (_ノ .|
/ /  ̄/ /
< < .< <
ヽ ヽ ヽ ヽ
0014デフォルトの名無しさん
2010/11/08(月) 02:21:310015デフォルトの名無しさん
2010/11/08(月) 02:24:410016デフォルトの名無しさん
2010/11/08(月) 02:26:330017デフォルトの名無しさん
2010/11/08(月) 02:34:540018デフォルトの名無しさん
2010/11/08(月) 02:41:180019デフォルトの名無しさん
2010/11/08(月) 02:56:430020デフォルトの名無しさん
2010/11/08(月) 03:01:29age
0021デフォルトの名無しさん
2010/11/08(月) 17:04:45サービス側から、PC内のユーザーアカウント名を列挙したいのですが、
どのようにすればよいでしょうか?
0022デフォルトの名無しさん
2010/11/08(月) 17:19:270023デフォルトの名無しさん
2010/11/08(月) 17:39:120025デフォルトの名無しさん
2010/11/08(月) 18:01:230026デフォルトの名無しさん
2010/11/08(月) 18:04:200027デフォルトの名無しさん
2010/11/08(月) 18:26:150028デフォルトの名無しさん
2010/11/08(月) 18:40:560029デフォルトの名無しさん
2010/11/08(月) 19:17:520030デフォルトの名無しさん
2010/11/08(月) 19:22:470031デフォルトの名無しさん
2010/11/08(月) 20:12:280032デフォルトの名無しさん
2010/11/08(月) 20:45:33NetUserEnumじゃね?
0034デフォルトの名無しさん
2010/11/08(月) 21:17:39まったくなりすましかよ!w
0035デフォルトの名無しさん
2010/11/08(月) 21:50:13>>34
>>34
0036デフォルトの名無しさん
2010/11/08(月) 22:11:54>>35
>>35
0037デフォルトの名無しさん
2010/11/08(月) 22:20:390038デフォルトの名無しさん
2010/11/08(月) 22:29:460039デフォルトの名無しさん
2010/11/08(月) 22:41:150040デフォルトの名無しさん
2010/11/08(月) 22:48:47ククク...奴は四天王の中でも最弱
0041デフォルトの名無しさん
2010/11/08(月) 23:19:07Win32では何か用意されていますか?
0042デフォルトの名無しさん
2010/11/08(月) 23:22:110043デフォルトの名無しさん
2010/11/09(火) 00:12:01つ DWM
0044デフォルトの名無しさん
2010/11/09(火) 00:17:310045デフォルトの名無しさん
2010/11/09(火) 01:26:10j事故解決しました
0046デフォルトの名無しさん
2010/11/09(火) 01:30:400047デフォルトの名無しさん
2010/11/09(火) 01:58:00起動やUIがちょっとばかり速くなるより納期が短くなる方がいいし。
フリーソフトの作者なんかが、ユーザの評判を気にして.NETを使えないでいるのは
実に残念だ。
0048デフォルトの名無しさん
2010/11/09(火) 02:25:20ドカタなら.netがお似合いだけど
0049デフォルトの名無しさん
2010/11/09(火) 02:53:570050デフォルトの名無しさん
2010/11/09(火) 04:51:210051デフォルトの名無しさん
2010/11/09(火) 04:59:58レジストリ潔癖症の基地外か98/2000を未だ常用してる貧乏人とかその辺
0052デフォルトの名無しさん
2010/11/09(火) 07:32:25クライアントが大量にあると、そのメンテだけでがっつり時間を取られるのが地味に痛い
0053デフォルトの名無しさん
2010/11/09(火) 09:51:00その手の言い訳は聞き飽きてるわ
0054デフォルトの名無しさん
2010/11/09(火) 10:18:200055デフォルトの名無しさん
2010/11/09(火) 10:28:530056デフォルトの名無しさん
2010/11/09(火) 11:51:33WindowsXPで動きますか??
ドライバ関係は無くて単なる計算して結果を表示するアプリです。
0057デフォルトの名無しさん
2010/11/09(火) 13:00:1732bitのWindowsは16bit版プログラムでも一応動かせるようになってるはず
0058デフォルトの名無しさん
2010/11/09(火) 13:00:370059デフォルトの名無しさん
2010/11/09(火) 13:00:58スレ違いのWin16でもProfessional x64 Edition以外ならそれなりに動く
0060デフォルトの名無しさん
2010/11/09(火) 13:46:220061デフォルトの名無しさん
2010/11/09(火) 13:48:20APIコマンドってあるのでしょうか?
特定のネットワーク接続だけ、アプリ起動時にWNetCancelConnectionで
クローズしてから起動をするようなプログラムを作成しようと思っています。
色々調べましたがどうしてもわかりませんでしたので、どなたか
ご教授頂ければ幸いです。
0062デフォルトの名無しさん
2010/11/09(火) 14:59:2316bitアプリはCPUに関係なく16ビットレジスタ範囲で動くんだが、
いったい何が死ぬと言うんだ?
おまえの頭か?
0063デフォルトの名無しさん
2010/11/09(火) 15:06:05コンソールアプリとDOSコマンドを混同するな。
それからWNetCancelConnectionを知っているのに、同系列の列挙のAPIが調べられないのは明らかにおかしい。
0064デフォルトの名無しさん
2010/11/09(火) 15:10:19DOSコマンドのnet useで列挙されるネットワーク接続一覧を取得する ( よ う な )
APIコマンドってあるのでしょうか?
>それからWNetCancelConnectionを知っているのに、同系列の列挙のAPIが調べられないのは明らかにおかしい。
色々調べましたがどうしてもわかりませんでしたので、どなたか
ご教授頂ければ幸いです。
文盲の上、ホルホルしたいだけの奴は消えろよ。
お前みたいな奴がこのスレを隔離スレ化してんだよ。
0065デフォルトの名無しさん
2010/11/09(火) 15:12:330066デフォルトの名無しさん
2010/11/09(火) 15:16:160067デフォルトの名無しさん
2010/11/09(火) 15:18:480068デフォルトの名無しさん
2010/11/09(火) 15:35:220069デフォルトの名無しさん
2010/11/09(火) 15:36:34ある夜
0070デフォルトの名無しさん
2010/11/09(火) 15:43:58じゃあDOSコマンドのnetじゃなくてガンダムで教えてくれ
0071デフォルトの名無しさん
2010/11/09(火) 15:47:09http://homepage1.nifty.com/MADIA/vc/vc_bbs/200608/200608_06080009.html
0072デフォルトの名無しさん
2010/11/09(火) 15:47:14ありがとさん
0073デフォルトの名無しさん
2010/11/09(火) 15:50:48WNetAddConnection2
WNetCancelConnection2
WNetAddConnection3
WNetCancelConnection3
0074デフォルトの名無しさん
2010/11/09(火) 15:51:470075デフォルトの名無しさん
2010/11/09(火) 15:55:24インポートテーブル見ればいいだけの話だ
0076デフォルトの名無しさん
2010/11/09(火) 16:07:24皆様、よくわからない質問の中ご回答いただきありがとうございます。
私自身で調べた限りでは、確かにWNetGetConnectionで情報が取れそうだと
思ったのですが、ローカル名がない接続情報の取得方法がわからなかったため、
頓挫していました。
やりたいことは、WNetAddConnection2でERROR_SESSION_CREDENTIAL_CONFLICTを
出さないようにするために、同じリモート名で既に接続されている全ての
ネットワーク接続を一度切断してから、接続処理を行いたいのです。
何かよい方法がありましたら、何でもいいので情報をいただけませんか?
>>63
@ITで「netコマンド」と気軽に記載していたので、Windows2000/XP以降に
新しく加わったDOSコマンドだと勘違いしてました。すみません。
>>71
これはこれで興味深い情報なのですが、今回の件とはちょっと違いました。
情報、ありがとうございました。
>>73>>74
情報、ありがとうございました。
>>75
インポートテーブルというものがよくわかりませんでした。
勉強不足ですみません。
0077デフォルトの名無しさん
2010/11/09(火) 16:18:54埋め尽くされてて確かにわかりにくいな
実行ファイル内にある使用してるAPIとDLLの一覧だと思えばいい
dumpbinやDependency Walkerなどで調べられる
実際に使ってみればわかるが、NetUseEnumなんていう
いかにもな名前のAPIを呼んでる
0078デフォルトの名無しさん
2010/11/09(火) 16:59:28試してないけど
0079デフォルトの名無しさん
2010/11/09(火) 18:26:40ご回答ありがとうございました。NetApi32.dllのNetUseEnumを使って
希望通りの情報を取得することが出来ました。本当にありがとうございます。
Dependency Walkerはこうした使い方もあるんですね。あまり意識せずに
必要なモジュールがそろっているかのチェック程度にしか使っていませんでした。
重ね重ね、お礼申し上げます。
0080デフォルトの名無しさん
2010/11/09(火) 19:16:130081デフォルトの名無しさん
2010/11/09(火) 20:43:280082デフォルトの名無しさん
2010/11/09(火) 20:44:460083デフォルトの名無しさん
2010/11/09(火) 20:47:570084デフォルトの名無しさん
2010/11/09(火) 21:00:280085デフォルトの名無しさん
2010/11/09(火) 21:20:490086デフォルトの名無しさん
2010/11/09(火) 22:33:410087デフォルトの名無しさん
2010/11/09(火) 22:34:180088デフォルトの名無しさん
2010/11/09(火) 23:20:180089デフォルトの名無しさん
2010/11/09(火) 23:25:550090デフォルトの名無しさん
2010/11/10(水) 00:04:35>同じリモート名で既に接続されている全ての
>ネットワーク接続を一度切断してから
他人のセッションのリモート名は取得出来ないからあきらめろ
0091デフォルトの名無しさん
2010/11/10(水) 05:51:040092デフォルトの名無しさん
2010/11/10(水) 09:58:310093デフォルトの名無しさん
2010/11/10(水) 15:25:19OSが64bitならば戻り値も__int64に変換されてもよさそうなのですが。。
0094デフォルトの名無しさん
2010/11/10(水) 15:51:400095デフォルトの名無しさん
2010/11/10(水) 15:56:24互換性という言葉があってだな
0096デフォルトの名無しさん
2010/11/10(水) 16:06:26なるほど
>>95
ウィンドウメッセージのWPARAMなどは64bit化してるようですし、
チグハグな感じをうけました。
0097デフォルトの名無しさん
2010/11/10(水) 16:09:4264bitに対応させないと
0098デフォルトの名無しさん
2010/11/10(水) 16:20:390099デフォルトの名無しさん
2010/11/10(水) 17:26:520100デフォルトの名無しさん
2010/11/10(水) 17:36:170101デフォルトの名無しさん
2010/11/10(水) 18:25:43DLLを作るにあたって
1) DllMain() を書く方法と
2) DllEntryPoint() を書いて DllMain() を省略する方法と
3) DllEntryPoint() と DllMain() のどっちも書かない方法
4) その他?
とかがあるみたいですが
どのやりかたが正しいんでしょうか?
0102デフォルトの名無しさん
2010/11/10(水) 18:34:00VC++のランタイムライブラリが呼んでくれる名前はDllMainだというだけ
0103デフォルトの名無しさん
2010/11/10(水) 18:42:04ある監視ソフトを作っており、イベントが起きると別アプリを起動します。
その際にFindWindowにてハンドルを取得できればそのアプリにメッセージ(SendMessage)を
送ります。取得できなければ起動するという処理を行っております。
困っているのは、アプリ名が同じ場合(プログラム名は違います)にうまく取得できません。
また、それと逆にイベントが起きると閉じる処理PostMessageを行うようにしていますが、
同じく同じ名前だとうまく処理できません。何かいい方法があるのでしょうか?よろしくおねがいします。
0104デフォルトの名無しさん
2010/11/10(水) 18:49:510105デフォルトの名無しさん
2010/11/10(水) 18:54:460106デフォルトの名無しさん
2010/11/10(水) 19:03:28諦めろ
0107デフォルトの名無しさん
2010/11/10(水) 19:10:510108デフォルトの名無しさん
2010/11/10(水) 19:12:10プロセスハンドルからウインドウハンドルを取得しろ
0109デフォルトの名無しさん
2010/11/10(水) 19:18:49ユーザーに周知しても駄目だろうし・・・・あぁ困ったorz
今日はもう帰ります;w;明日起きたら良いアイディア思い・・・うかぶわけねーか;w;
0110デフォルトの名無しさん
2010/11/10(水) 19:32:39仕様が糞でハナシにならない。
0111デフォルトの名無しさん
2010/11/10(水) 19:36:57モンスタークライアントの悪夢
0112デフォルトの名無しさん
2010/11/10(水) 22:12:18CreateProcessで可能ですか?もちろんUACのウィンドは表示されても大丈夫です
0113デフォルトの名無しさん
2010/11/10(水) 22:26:130114デフォルトの名無しさん
2010/11/10(水) 22:35:280115デフォルトの名無しさん
2010/11/10(水) 23:54:29マニフェストに書いてあるなら大丈夫じゃね?
0116112
2010/11/11(木) 00:13:04ありがとうございます。
ケースバイケースで管理者権限が必要ない場合があるので、
マニフェストをつけることはできません。
ShellExecuteで実装してみます。
0117デフォルトの名無しさん
2010/11/11(木) 01:59:210118103
2010/11/11(木) 09:06:58CallBackでハンドルとexe名の関連付けとかできる仕様ってあるのでしょうか?
よろしくおねがいします。
PS.自分で探したけど見つからなかった;w;
0119デフォルトの名無しさん
2010/11/11(木) 10:15:370120デフォルトの名無しさん
2010/11/11(木) 10:21:40ttp://d.hatena.ne.jp/yu-hr/20100323/1269356160
0121デフォルトの名無しさん
2010/11/11(木) 11:06:160122 ◆ri5Y.eMu8c
2010/11/11(木) 16:21:21"LOCAL SERVICE"権限で動作しているデバイスドライバのプロセスから
GUIなアプリを起動する方法について教えてください。
調べてみたところ、サービスはユーザーとは異なるデスクトップを持つため
そのままCreateProcess等でアプリを起動しても、ウィンドウは表示されない
…というところまでは理解しました。
OpenWindowStation()を利用するサンプルがあったので試してみましたが
「アクセス権がありません」というエラーが出てしまい、ダメでした。
この辺に詳しい方、お力を貸していただけると助かります。
0123デフォルトの名無しさん
2010/11/11(木) 19:33:360124デフォルトの名無しさん
2010/11/11(木) 21:07:39無理
0125デフォルトの名無しさん
2010/11/11(木) 22:01:46Delphiだけどこんなのは参考にならないかな?
ttp://www.cromis.net/blog/2010/01/how-to-start-a-gui-process-from-service-under-windows-vista7/
0126デフォルトの名無しさん
2010/11/11(木) 22:35:030127デフォルトの名無しさん
2010/11/11(木) 23:57:040128デフォルトの名無しさん
2010/11/11(木) 23:57:440129デフォルトの名無しさん
2010/11/12(金) 01:57:410130デフォルトの名無しさん
2010/11/12(金) 02:03:59自分で作ったダイアログじゃダメなのか?
0131デフォルトの名無しさん
2010/11/12(金) 04:56:59そうします
0132デフォルトの名無しさん
2010/11/12(金) 10:57:35ドラッグカーソルの定数って何でしょうか?
0133デフォルトの名無しさん
2010/11/12(金) 20:32:420134デフォルトの名無しさん
2010/11/12(金) 20:39:050135デフォルトの名無しさん
2010/11/12(金) 21:49:360136デフォルトの名無しさん
2010/11/13(土) 01:52:110137デフォルトの名無しさん
2010/11/13(土) 05:01:160138デフォルトの名無しさん
2010/11/13(土) 05:03:080139デフォルトの名無しさん
2010/11/13(土) 05:28:480140デフォルトの名無しさん
2010/11/13(土) 08:44:300141デフォルトの名無しさん
2010/11/13(土) 12:03:110142デフォルトの名無しさん
2010/11/13(土) 12:20:190143デフォルトの名無しさん
2010/11/13(土) 12:27:380144デフォルトの名無しさん
2010/11/13(土) 14:33:330145デフォルトの名無しさん
2010/11/13(土) 14:38:36MIDIの資料はもうかなり古いものが多いようですが、
「メッセージの送信には midiOutShortMsg() 関数を使います」という記述を見つけたのですが、
MSDNでぐぐっても出てきません。
かわりにmidiOutMessage()というのが出てきたのですが、
現在はmidiOutShortMsg()というのは淘汰され、midiOutMessage()に変わったのでしょうか?
0146デフォルトの名無しさん
2010/11/13(土) 14:40:370147デフォルトの名無しさん
2010/11/13(土) 14:41:160148デフォルトの名無しさん
2010/11/13(土) 14:44:320149145
2010/11/13(土) 14:55:17検索範囲に絞込みがかけてあるのですか?
MSDNで出てこなくても使えるということなのでしょうか?
midiOutMessage()を使ったほうがベターでしょうか?
C#から呼び出して使うつもりです。
0150デフォルトの名無しさん
2010/11/13(土) 15:02:570151デフォルトの名無しさん
2010/11/13(土) 15:16:13midiOutMessageはデバイスドライバーにドライバー固有の
メッセージを送るときに使う
俺midiOutMessageなんか使ったことないぞ
C#からmidiOutShortMsg使うときは以下のおまじないが必要
[DllImport("winmm.dll")]
public static extern int midiOutShortMsg(IntPtr hmo, uint dwMsg);
がんがれ
0152145
2010/11/13(土) 15:16:38midiOutShortまで打ち込んで検索しても引っかからなかったのであきらめてました。。
MSDNの検索って完全一致でないと拾ってくれないんですね。
チラ見ですが、midiOutMessageとは少し違うみたいですね。
0154デフォルトの名無しさん
2010/11/13(土) 17:00:24致命的なエラーが起きた起きたとき、どうやって終了させる?
0155デフォルトの名無しさん
2010/11/13(土) 17:01:590156デフォルトの名無しさん
2010/11/13(土) 17:02:080157デフォルトの名無しさん
2010/11/13(土) 17:10:160158デフォルトの名無しさん
2010/11/13(土) 17:32:010159デフォルトの名無しさん
2010/11/13(土) 17:54:59可能でしたら、その方法を教えていただければと思います。
0160デフォルトの名無しさん
2010/11/13(土) 17:58:520161デフォルトの名無しさん
2010/11/13(土) 17:59:05採用
0163デフォルトの名無しさん
2010/11/13(土) 18:22:080164デフォルトの名無しさん
2010/11/13(土) 18:28:470165デフォルトの名無しさん
2010/11/13(土) 18:30:320166デフォルトの名無しさん
2010/11/13(土) 18:45:580167デフォルトの名無しさん
2010/11/13(土) 19:24:32VC++ 2005 で100万件のオブジェクトをdeleteするのに1分近くかかってしまいます
XP 32bitのときは、google performance toolsを入れて new と delete を高速化していたのですが、Win7 64bitには未対応でリンクできませんでした
0168デフォルトの名無しさん
2010/11/13(土) 20:20:5632bit版の実行ファイルでやってみてもそうなるの?
0169デフォルトの名無しさん
2010/11/13(土) 20:44:520170デフォルトの名無しさん
2010/11/13(土) 20:46:24Visual Studio 2005 の C++ で delete にかかる時間を計測したのですが、同じプログラムでも
32bit 69秒 (VC++標準)
32bit 0.09秒 (google performance toolsのtcmallocを使用)
64bit 153秒
と、googleのtcmallocが圧倒的速度ですが、標準でも32bitと64bitでは2倍くらいの差で、64bitのdeleteが遅い状況です
64bitはntdllが遅いようで、もう64bitやめようかと・・・(´・ω・`)
0171デフォルトの名無しさん
2010/11/13(土) 20:49:120172デフォルトの名無しさん
2010/11/13(土) 21:01:55Visual Studioから実行すると遅くなるようです
ビルドしたexeファイルを直接、実行した場合はdeleteがすぐに終わりました
0173デフォルトの名無しさん
2010/11/13(土) 21:05:02今時のCPUで100万件でそんなに時間がかかるとは思えない
mallocならかかってもせいぜい数秒
ファイルを読み込んでるとかメモリをゼロクリアしてるとか
例外でも発生してるんじゃね?
0174デフォルトの名無しさん
2010/11/13(土) 21:06:350175デフォルトの名無しさん
2010/11/13(土) 21:08:13いや、Releaseビルドですよ。Win7というのが関係しているのかもしれません
0176デフォルトの名無しさん
2010/11/13(土) 21:10:440177デフォルトの名無しさん
2010/11/13(土) 21:31:24http://codepad.org/MUwPe4oA
0178デフォルトの名無しさん
2010/11/13(土) 21:31:250179デフォルトの名無しさん
2010/11/13(土) 21:33:230180デフォルトの名無しさん
2010/11/13(土) 21:37:090182デフォルトの名無しさん
2010/11/13(土) 21:42:130184デフォルトの名無しさん
2010/11/13(土) 22:04:51FatalAppExit 関数は、常にアプリケーションが使用したメモリを解放したり、ファイルを閉じるとはかぎりません。
Windows の一般エラーの原因になることもあります。アプリケーションで予期しないエラーが発生した場合は、
このアプリケーションが使用するメモリをすべて解放し、メインメッセージループから戻って終了するようにします。
0185デフォルトの名無しさん
2010/11/13(土) 22:08:38でも2GB確保しようとして足りなくて失敗したとかなら正常終了に持ち込んだ方がいい
0187デフォルトの名無しさん
2010/11/13(土) 22:43:350188デフォルトの名無しさん
2010/11/14(日) 02:15:590189デフォルトの名無しさん
2010/11/14(日) 02:20:29俺も普通の new で起きる bad_alloc なんかは、チェックすらしてない。
巨大なファイルをメモリにマップするとか、VirtualAllocで数百MBのメモリを
確保するとかだったらチェックするけど。
0190デフォルトの名無しさん
2010/11/14(日) 02:27:20日本語MSDNなんか引用すんな。低能。
Remarks
An application calls FatalAppExit only when it is not capable of
terminating any other way.
0191デフォルトの名無しさん
2010/11/14(日) 03:08:14>FatalAppExit 関数は、常にアプリケーションが使用したメモリを解放したり、ファイルを閉じるとはかぎりません。
他のプロセスが参照カウンタを増やしているとか、そういうオチだね。
何の問題も無い。
0192デフォルトの名無しさん
2010/11/14(日) 03:28:14全て解放される。これジャングルの掟。
0193デフォルトの名無しさん
2010/11/14(日) 03:44:15>>184はそれも怪しいって言ってるんじゃないかい
プロセスの正常な終了手続き取らないとか
0194デフォルトの名無しさん
2010/11/14(日) 07:55:42英語版(>>190)にはそんな事は書いていない。日本語版(>>184)が嘘。
低能はプログラミングすんな。
0195161
2010/11/14(日) 08:44:26さっさとプログラム終了させなきゃいけないのかと思ってたんだがそうでもないのか?
0196デフォルトの名無しさん
2010/11/14(日) 09:23:21CloseHandle
DestroyWindow
PostQuitMessage
ExitProcess
このあたりが全部失敗するような状況のことじゃないか?
0197デフォルトの名無しさん
2010/11/14(日) 10:50:06今は普通にLoadLibraryで読み込んでるんですが、
ファイルからの読み込みしか対応してないようです。
これをメモリから読み込むようにできませんか?
今はこのようになってるんですが、
スクリーンセーバーなのでファイルをまとめたいんです。
urara.scr スクリーンセーバー
imgloader.dll 画像ローダー
voiloader.dll 音声ローダー
Bitmapなどの素材はリソースにおけるんで、
urara.scrの中に格納できたんですが、
imgloader.dllなどは格納はできるんですが、
LoadLibraryはリソースに対応してないようです。
0198デフォルトの名無しさん
2010/11/14(日) 12:01:05LoadLibraryはリソースに対応してるようですが、
対応していないと思う理由を考えてみたのですが、
やはり意味不明ですね。
0199デフォルトの名無しさん
2010/11/14(日) 14:52:38パスって取得できないのかな・・・
0200デフォルトの名無しさん
2010/11/14(日) 14:58:46ttp://ruffnex.oc.to/kenji/text/load_dll/
ここ読めば出来るような気がする
0201デフォルトの名無しさん
2010/11/14(日) 15:25:18すいませんプログラマ夜逃げで焦ってました。
>>200
ありがとうございます参考になりました。
0202デフォルトの名無しさん
2010/11/14(日) 17:10:38http://msdn.microsoft.com/en-us/library/ms679338%28v=VS.85%29.aspx
This function should only be used as a last resort,because it may not free the memory or files owned by the application.
書いていない=解放される、ではないよ
MSの場合は書いてあっても信用できないけどねw
0203デフォルトの名無しさん
2010/11/14(日) 17:40:18ttp://wisdom.sakura.ne.jp/system/winapi/win32/win13.html
にあるやつエラーになるんですがどうしてですか?
win32api.c(14): error C2065: 'LlpcsWnd' : 定義されていない識別子です。
win32api.c(14): error C2223: '->lpszName' : 左側が構造体か共用体に対するポインターではありません。
win32api.c(14): warning C4047: '関数' : 間接参照のレベルが 'LPCWSTR' と 'long' で異なっています。
win32api.c(14): warning C4024: 'MessageBoxW' : の型が 3 の仮引数および実引数と異なります。
win32api.c(14): error C2198: 'MessageBoxW' : 呼び出しに対する引数が少なすぎます。
0204デフォルトの名無しさん
2010/11/14(日) 17:44:58BCC使ってるけどコピペで問題なかった。
もっかい見直したら?
0205デフォルトの名無しさん
2010/11/14(日) 17:51:59Unicodeビルドやめてマルチバイトにすればビルドは通るだろうが、
今時そういうことをするのはちょっと。
0206デフォルトの名無しさん
2010/11/14(日) 18:03:22横からだけど出来ました
ありがとうございました
0207デフォルトの名無しさん
2010/11/14(日) 18:05:15BCCでできました。報告ありがとうございます
>>205
やはりサイトではなく本を買ったほうがいいでしょうか?
0208デフォルトの名無しさん
2010/11/14(日) 18:05:19エラー出ないように書き直すと勉強になるよ
0209デフォルトの名無しさん
2010/11/14(日) 18:08:52これ結構楽しいな
ウィルススキャンにも引っかからなかった
0210デフォルトの名無しさん
2010/11/14(日) 18:17:16ビルド通らないって入力ミスかなんかじゃないのか
0211デフォルトの名無しさん
2010/11/14(日) 18:17:37MessageBoxWって書いてあるのに気づかなかったとか死にてぇ・・・・・・
本は2004年5月の出版。7年ほど前の本だがどうするよ?
0212デフォルトの名無しさん
2010/11/14(日) 18:17:58> TEXT(lpcsWnd->lpszName)
これはねーわ(;´Д`)
0213デフォルトの名無しさん
2010/11/14(日) 18:18:030214デフォルトの名無しさん
2010/11/14(日) 18:23:02ここはどうするべきなんでしょうか?
0215デフォルトの名無しさん
2010/11/14(日) 18:27:57素直に渡せよ
0216デフォルトの名無しさん
2010/11/14(日) 18:28:08lpcsWnd->lpszNameにすればコンパイルは通ると思われる。
TranslateMessage()呼んでなかったりとかいろいろとアレなサンプルだな・・・
0217デフォルトの名無しさん
2010/11/14(日) 18:31:42ありがとうございます
>>211
ちょっと新しい本見つけて買おうと思います
0218デフォルトの名無しさん
2010/11/14(日) 18:34:200219デフォルトの名無しさん
2010/11/14(日) 18:39:34まずは自分の価値基準を提示しろ。
0220デフォルトの名無しさん
2010/11/14(日) 18:51:52プログラムの本はあんま買わないからわからん
サイトなら入門のころお世話になった苦Cがけっこう良かった、と思う
0221デフォルトの名無しさん
2010/11/14(日) 18:53:160222デフォルトの名無しさん
2010/11/14(日) 20:24:38IDEに頼ってないところだけは評価してもいい
0223デフォルトの名無しさん
2010/11/14(日) 20:38:230224デフォルトの名無しさん
2010/11/14(日) 22:47:26鏡をカメラで撮って写真にする感じだよー って一言説明あれば
分かりやすいのになー
0225デフォルトの名無しさん
2010/11/14(日) 23:04:58ポインタを単にポインタとして理解できない初心者は門前払いすべし。
0226デフォルトの名無しさん
2010/11/14(日) 23:08:32最近理解できたんだね。良かった良かった
0227デフォルトの名無しさん
2010/11/14(日) 23:16:040228デフォルトの名無しさん
2010/11/14(日) 23:29:290229デフォルトの名無しさん
2010/11/14(日) 23:31:37ちゃんとコンピューター勉強したい人にとっては妨げになるだけ
0230デフォルトの名無しさん
2010/11/15(月) 00:23:42Win32APIスレで何気取ったこと言ってるんだ?
0231デフォルトの名無しさん
2010/11/15(月) 04:37:090232デフォルトの名無しさん
2010/11/15(月) 06:38:490233デフォルトの名無しさん
2010/11/15(月) 07:27:470234デフォルトの名無しさん
2010/11/15(月) 19:24:160235デフォルトの名無しさん
2010/11/15(月) 22:08:230236デフォルトの名無しさん
2010/11/16(火) 09:18:150237デフォルトの名無しさん
2010/11/16(火) 19:31:560238デフォルトの名無しさん
2010/11/16(火) 19:37:42FormatMessageWでHRESULTの説明を取得しようとしたら
↓の読み込み専用のなんとかエラーが出るんだけどどうすればいい
(裏) [一本道] 真中ゆり&大城楓 ペロリンピックpart1 エッチなスケートリンク (パイパン・レズ) [無修正] (704x396 Mpeg4v2 2820Kbps 29.97fps 128Kbps 48KHz J-Stereo 1h01m31s).avi
0239デフォルトの名無しさん
2010/11/16(火) 19:41:11PCをリカバリー
0240デフォルトの名無しさん
2010/11/16(火) 19:49:510241デフォルトの名無しさん
2010/11/16(火) 19:51:21zipでくれ
0243デフォルトの名無しさん
2010/11/16(火) 20:02:30元は面白いの?
0244デフォルトの名無しさん
2010/11/16(火) 20:10:45同じぐらいつまらん
昨日あたりに、関係ないスレにコピペされまくってたが
0245デフォルトの名無しさん
2010/11/16(火) 20:23:130246デフォルトの名無しさん
2010/11/16(火) 21:15:080247デフォルトの名無しさん
2010/11/16(火) 22:34:18既存のDIBからDDBを生成する方法ないでしょうか。
(DDBを生成した後もDIBとして使用可能なもの)
DIBSectionは既存のDIBを使用できないし、CreateDIBitmapは
DDBを生成した後は元のDIBとは別メモリが割り当てられてしまいます。
0248デフォルトの名無しさん
2010/11/16(火) 22:44:010249デフォルトの名無しさん
2010/11/16(火) 22:45:320250デフォルトの名無しさん
2010/11/16(火) 22:47:49たぶん1度DIB作ってから再度作るのが面倒くさいから
誰か僕ちゃんにおあつらえ向きの関数知りませんか〜ってことだと思うで
0251247
2010/11/16(火) 23:40:44かつ、速度が必要なαブレンド等のピクセル操作はメモリアクセスで済ませたい。
この為、unsigned intの配列とDIBがシームレスに直結してる必要があります。
さらに、GDI操作が必要なくなったらHBITMAPは解放したいです。
(この際unsigned intの配列は解放されてはいけない)
そしてまた必要なときにDIBを生成というサイクルを想定しています。
0252247
2010/11/16(火) 23:44:21x DIB
o DDB
0253デフォルトの名無しさん
2010/11/16(火) 23:48:03DIBセクションで確保されたメモリを使えば解決だな。
この状態で直接メモリアクセスできるから、
わざわざ解放する理由も無くなるし。
0254デフォルトの名無しさん
2010/11/16(火) 23:49:57使ったことないが
0255247
2010/11/16(火) 23:54:20Win95で動かす場合、リソースに64k個制限があるため不要なDIBセクションの
生成は控えたいのです。
(ゲーム用途に使用する場合細かい画像を大量に取り扱う事があってリソースを圧迫してしまいます)
そのため、通常は配列で画像処理を行い、必要なときのみアダプタ的なイメージで
配列にかぶせGDIで描画を行いたいという背景があり、最初からDIBセクションを使用する事ができません。
それでこの質問をするに至りました。
0257デフォルトの名無しさん
2010/11/17(水) 00:28:560258デフォルトの名無しさん
2010/11/17(水) 00:35:59最終的に画面に出力する処理以外は、一切GDIは不要だな。
よって、リソースの個数制限に悩まされる事は全く無いな。
PentiumIII/Athlon以前の環境なら、多少検討する価値があるかもしれないが。
0259デフォルトの名無しさん
2010/11/17(水) 00:43:220260デフォルトの名無しさん
2010/11/17(水) 00:56:580261デフォルトの名無しさん
2010/11/17(水) 01:04:54メモリが足りなかったら処理速度でまかなうとか。
処理速度上げるために別に計算してテーブルにするとか。
描画時だけ妥協してCreateDIBitmapあたりでHBITMAPにしてそれ以外は配列で何とかすればいいと思うけど。
あと、処理速度が遅いときの基本の描画はダーティレクトだと思う。異論は認める。
あ、思い出した。SetDIBitsToDeviceっていう描画関数もあるよ。
0262デフォルトの名無しさん
2010/11/17(水) 01:42:240263デフォルトの名無しさん
2010/11/17(水) 02:28:140264デフォルトの名無しさん
2010/11/17(水) 02:33:130265261
2010/11/17(水) 10:08:13ttp://www1.axfc.net/uploader/File/so/54256.zip
DIBの8bitデータなのは別に何かの制約ではなく、データ作るの楽だから。
できれば、こんな感じのデータはクラスにして使ったほうが色々便利でいいと思う。
基本的に生データをさらしておくのはお勧めしない。
あと、これvc10のプロジェクト作成ウィザードで吐いたやつのWndProcだけ変更したやつだから要点はWindProcに集約されてるよ。
描画関数はMSDNで伸ばすほう伸ばさないほうの両方の互換性がWin95になってたから大丈夫だと思うんだけど・・・。
0266デフォルトの名無しさん
2010/11/17(水) 10:44:220267デフォルトの名無しさん
2010/11/17(水) 10:50:370268デフォルトの名無しさん
2010/11/17(水) 11:04:570269デフォルトの名無しさん
2010/11/17(水) 11:09:50サンプルコードみたいなのないでしょうか?
0270デフォルトの名無しさん
2010/11/17(水) 11:22:11ttp://d.hatena.ne.jp/kiwamaru/20090121/1232524352
最近はばるーんちっぷすっていうみたいだな。
0271デフォルトの名無しさん
2010/11/17(水) 11:56:040272デフォルトの名無しさん
2010/11/17(水) 12:22:530273デフォルトの名無しさん
2010/11/17(水) 13:21:15ハゲですねわかります
0275デフォルトの名無しさん
2010/11/17(水) 16:53:13mingw32 3.4.4 (結構古い) の g++/ld でコンパイル/リンクしたのですが no problem でした
0277デフォルトの名無しさん
2010/11/17(水) 17:08:16んなことない
日本の未来を潰すものはてきぱきとに実行してる。
0278デフォルトの名無しさん
2010/11/17(水) 19:49:47それを日本国民が望んでいたから、選挙で民主が大勝した
0279デフォルトの名無しさん
2010/11/17(水) 19:50:290280デフォルトの名無しさん
2010/11/17(水) 19:57:350281デフォルトの名無しさん
2010/11/17(水) 19:58:34おいドンもmingw使っているでゲソ
g++/ld でコンパイル/リンクするmakefileくれな烏賊?
0282デフォルトの名無しさん
2010/11/17(水) 19:58:49コマンドボタンが実装されたApp1.exeがあります
App1.exeのボタンがクリックされたら、そのイベントをフックするApp2.exeを
制作したいと思っています
VC++でSendMessageやFindWindowを使ってクリックのイベントをフックするアプリは作ったことはありますが
コマンドボタンをクリックするイベントのフックの仕方がわかりません
参考になるサイトのURLやAPIなど、教えていただきたく思います
よろしくお願いします
0283デフォルトの名無しさん
2010/11/17(水) 20:08:47補足です
App1.exeは他社で制作されたアプリで、ソースは公開されておりません
VB6で制作されているようです
よろしくお願いいたします
0284デフォルトの名無しさん
2010/11/17(水) 20:20:191.下記で大丈夫でしょうか?
BeginPaint→
CreatePen→SelectObject→使用→DeleteObject(SelectObjectで他のPenに変えてない)→
CreatePen→SelectObject→使用→DeleteObject(SelectObjectで他のPenに変えてない)→
: :
EndPaint
0285デフォルトの名無しさん
2010/11/17(水) 20:28:36makefile じゃないけど mingw32 用に整理してみた
ttp://www1.axfc.net/uploader/Sc/so/174391.zip
パスは 281
0286デフォルトの名無しさん
2010/11/17(水) 20:45:16熱烈感謝
0287デフォルトの名無しさん
2010/11/17(水) 20:47:01MSDN嫁
http://msdn.microsoft.com/en-us/library/dd183539%28VS.85%29.aspx
> Do not delete a drawing object (pen or brush) while it is still selected into a DC.
0288デフォルトの名無しさん
2010/11/17(水) 21:30:22Makefile作ってみた
(左端のスペースはタブです)
TARGET=SetDIBitsToDevice.exe
CC=g++
RC=windres
OPT=-mwindows
SRC=$(shell ls *.cpp)
OBJ=$(SRC:.cpp=.o)
WRC=$(shell ls *.rc)
RES=$(WRC:.rc=.cr)
.SUFFIXES: .cpp .o .rc .cr
all: $(TARGET)
clean:
rm -f $(OBJ) $(RES)
$(TARGET): $(OBJ) $(RES)
$(CC) $(OPT) -o $@ $(OBJ) $(RES)
.cpp.o:
$(CC) -c $<
.rc.cr:
$(RC) -i $< -o $(RES)
0289デフォルトの名無しさん
2010/11/17(水) 21:40:23ttp://ruffnex.oc.to/kenji/text/api_hook/
ここ見れば出来るような気がする
0290デフォルトの名無しさん
2010/11/17(水) 21:54:08FindWindowで親ウインドウを探したら、
FindWindowExを使ってコマンドボタンの子ウインドウを探して見るとか。
0291デフォルトの名無しさん
2010/11/17(水) 21:59:44ヘッダファイルだけが更新されたときに
それだとちゃんと動かないね
0292デフォルトの名無しさん
2010/11/17(水) 22:43:560293デフォルトの名無しさん
2010/11/17(水) 22:46:27なんで?
助かってるのに
0294デフォルトの名無しさん
2010/11/17(水) 22:48:53vc10にバックポートしてみた。
一個だけWinMainがおかしいとか怒られるんだけど、WinMainをTCHAR対応にすれば動いた。
具体的には_tWinMain(・・・)ってするだけなんだけどね。_tがキモイけど大事だ。
0295デフォルトの名無しさん
2010/11/17(水) 23:09:21死ねカス
0296デフォルトの名無しさん
2010/11/17(水) 23:27:31>>286だけど、
mingwでは_tWinMainだとダメポになる。
あと、mingwだと.rcなんかに日本語あると化けてダメポになんだよね
rcの日本語をちゃんとやろうとすると、VCのrcで前処理して、windresに
渡してやるとかしないといけないんだよな。
mingwで有料のVCのrc使うっておいおいだからね
>>288 どうも!
0297デフォルトの名無しさん
2010/11/17(水) 23:31:53紛らわしいこと書いてすまないね。
用はVC10EEで動かしたかったらって話だから。
言葉が抜けてた。すまない。
0298デフォルトの名無しさん
2010/11/17(水) 23:42:010299デフォルトの名無しさん
2010/11/18(木) 00:11:31消えろ
0300デフォルトの名無しさん
2010/11/18(木) 00:22:12消えろ
0301デフォルトの名無しさん
2010/11/18(木) 00:23:130302デフォルトの名無しさん
2010/11/18(木) 00:23:440303デフォルトの名無しさん
2010/11/18(木) 00:24:120304デフォルトの名無しさん
2010/11/18(木) 00:24:240305デフォルトの名無しさん
2010/11/18(木) 00:25:210306デフォルトの名無しさん
2010/11/18(木) 00:26:080307デフォルトの名無しさん
2010/11/18(木) 00:26:300308デフォルトの名無しさん
2010/11/18(木) 00:27:100309デフォルトの名無しさん
2010/11/18(木) 00:28:050310デフォルトの名無しさん
2010/11/18(木) 00:29:390311デフォルトの名無しさん
2010/11/18(木) 00:31:370312デフォルトの名無しさん
2010/11/18(木) 00:32:200313デフォルトの名無しさん
2010/11/18(木) 00:32:580314デフォルトの名無しさん
2010/11/18(木) 00:33:170315デフォルトの名無しさん
2010/11/18(木) 00:33:540316デフォルトの名無しさん
2010/11/18(木) 00:34:040317デフォルトの名無しさん
2010/11/18(木) 00:34:330318デフォルトの名無しさん
2010/11/18(木) 00:35:160320デフォルトの名無しさん
2010/11/18(木) 00:36:480321デフォルトの名無しさん
2010/11/18(木) 00:36:530322デフォルトの名無しさん
2010/11/18(木) 00:37:220323デフォルトの名無しさん
2010/11/18(木) 00:38:250324デフォルトの名無しさん
2010/11/18(木) 00:38:550325デフォルトの名無しさん
2010/11/18(木) 00:40:330326デフォルトの名無しさん
2010/11/18(木) 00:41:550327デフォルトの名無しさん
2010/11/18(木) 00:43:470328デフォルトの名無しさん
2010/11/18(木) 00:45:280329デフォルトの名無しさん
2010/11/18(木) 00:47:280330デフォルトの名無しさん
2010/11/18(木) 03:23:32巻き添えはごめんだ
0331デフォルトの名無しさん
2010/11/18(木) 03:33:26バーカw
0332デフォルトの名無しさん
2010/11/18(木) 03:35:040333デフォルトの名無しさん
2010/11/18(木) 03:35:33これは恥ずかしい
0334デフォルトの名無しさん
2010/11/18(木) 03:37:100335デフォルトの名無しさん
2010/11/18(木) 03:41:030336デフォルトの名無しさん
2010/11/18(木) 03:42:050337デフォルトの名無しさん
2010/11/18(木) 03:57:520338デフォルトの名無しさん
2010/11/18(木) 04:06:270339デフォルトの名無しさん
2010/11/18(木) 04:17:51こういう描画処理ってWM_PAINT内でifやらなんやらつかって処理すべきもの?具体的にはWM_LBUTTONDOWNでsin波表示させるようにしたい。
0340デフォルトの名無しさん
2010/11/18(木) 06:59:37WM_PAINTで再描画されたらsin波が消えた、
ってパターンが嫌ならWM_PAINTに実装すべきだろうな。
更新頻度が高いとか重要度が低いとかなら、描きっ放しもありだと思うけど。
0341デフォルトの名無しさん
2010/11/18(木) 09:16:190342デフォルトの名無しさん
2010/11/18(木) 09:22:100343デフォルトの名無しさん
2010/11/18(木) 10:05:420344デフォルトの名無しさん
2010/11/18(木) 12:40:060345デフォルトの名無しさん
2010/11/18(木) 13:05:36もうだめねこのスレ
0346デフォルトの名無しさん
2010/11/18(木) 13:10:500347デフォルトの名無しさん
2010/11/18(木) 13:19:080348デフォルトの名無しさん
2010/11/18(木) 13:26:120349デフォルトの名無しさん
2010/11/18(木) 14:46:100350デフォルトの名無しさん
2010/11/18(木) 15:24:010351デフォルトの名無しさん
2010/11/18(木) 17:57:010352デフォルトの名無しさん
2010/11/18(木) 18:24:06TreeView_CreateDragImageの戻り値がNULLになってしまうのは
原因としてどのようなことが考えられるでしょうか。
私の環境にドラッグ用のビットマップが用意されてないということでしょうか。
0353デフォルトの名無しさん
2010/11/18(木) 20:33:320354デフォルトの名無しさん
2010/11/18(木) 20:34:390355デフォルトの名無しさん
2010/11/18(木) 20:50:180356デフォルトの名無しさん
2010/11/18(木) 21:05:13>>282-283 です。
解答ありがとうございました。
どうがんばってもボタン押下イベントをフックできないので
「マウスのクリックが発生したとき、ボタンにフォーカスがあったなら」
で対応するようにしました。
�@ SetWindowsHookExで全マウスイベントを監視
�A WM_LBUTTONUPであるなら、そのウィンドウハンドルでSendMessageを使って
ウィンドウ(イベントの発生を知りたいボタン)のテキストを取得する
�B 取得したテキスト名が監視したいボタンのテキストと同じなら処理実行
今日一日考えて、やっと実装できました。
まだまだ実装しないといけない機能は山ほどありますが・・・。
0357デフォルトの名無しさん
2010/11/18(木) 21:09:35なるほど〜。ありがとうございました。
0358デフォルトの名無しさん
2010/11/18(木) 22:07:330359デフォルトの名無しさん
2010/11/18(木) 22:57:020360デフォルトの名無しさん
2010/11/18(木) 23:07:410361デフォルトの名無しさん
2010/11/18(木) 23:09:110362デフォルトの名無しさん
2010/11/18(木) 23:26:550363デフォルトの名無しさん
2010/11/18(木) 23:32:070364デフォルトの名無しさん
2010/11/18(木) 23:52:530365デフォルトの名無しさん
2010/11/19(金) 00:21:27プロンプトの黒いウインドウを一瞬出さずに
キーボードのCtrl+S を押したのにと全く同じ効果があるプログラムって
C,C++,C# で出来ますかね?
入力のところまでは作れた記憶があるんですが
黒いウインドウが消せたかどうか覚えてなくて
0366デフォルトの名無しさん
2010/11/19(金) 00:55:20ターミナルサービスを使用したログインと実際にログインしているユーザは、また別物と考えてよいのでしょうか?
GetUserNameの関数で取得できるユーザが実際にログインしているユーザと認識しています。
0367デフォルトの名無しさん
2010/11/19(金) 00:58:18アクティブなウインドウにキー入力を送るというやつで、
アクティブまたは大元のウインドウにキーを送るということで
実物のキーを押すのと等価といえるのでしょうか?
タスクバーからプロブラムを起動したら
***キーと***キー押下と同じ効果が起きて、 ショートカットキーであれば
同じように反応する、ということをやりたいんですが
プロンプトの抑制は自分でやってみます
0368デフォルトの名無しさん
2010/11/19(金) 01:01:060369デフォルトの名無しさん
2010/11/19(金) 01:03:30>>367
へのレスですか?
ありがとうございます。
火急のものでもないので64bitOSのに買い換えるまで放置します。
0370デフォルトの名無しさん
2010/11/19(金) 02:36:12エディションによるけど同時に複数の端末からログインしてホストを操作できるよ。
0371デフォルトの名無しさん
2010/11/19(金) 04:51:10たとえばHTMLページに href="mailto:[email protected]" というリンクがあれば、このリンクをクリックするとメーラが起動します。
あるいは href="aim:goim?screenname=foobar" だったらAOLインスタントメッセンジャーが起動するでしょう。
このように、リンクのURLスキームとアプリケーションを結びつけたいのですが、
とっかかりになる情報だけでも教えていただけないでしょうか。
よろしくお願いします。
0372デフォルトの名無しさん
2010/11/19(金) 05:26:16ちがってたらスマソ
0373デフォルトの名無しさん
2010/11/19(金) 07:48:17- Internet Explorer Development
- Content Extensions
- Pluggable Protocols
新しいスキームだとここら辺か?
ブラウザと直結するからあまりお勧めしないが。
0374デフォルトの名無しさん
2010/11/19(金) 08:54:53こんなところで質問しないと開発を進められないキミの技術レベルだと、
ブラウザにセキュリティ上の大穴あける確率がとても高い。
簡単にいえば、素人は手を出すな。キミには1000年早い。
0375デフォルトの名無しさん
2010/11/19(金) 11:43:060376デフォルトの名無しさん
2010/11/19(金) 13:36:54ありがとうございます!「Pluggable Protocols」でぐぐったらいろいろ出てきたので
あとは自分で調べてみようと思います。
ちなみにMacでは同じ機能を「カスタムURLスキーム」と呼んでいます。
0377デフォルトの名無しさん
2010/11/19(金) 19:35:030378デフォルトの名無しさん
2010/11/19(金) 19:48:250379デフォルトの名無しさん
2010/11/19(金) 20:28:55ブラウザの話が出てこない方が不思議だろ。
0380デフォルトの名無しさん
2010/11/19(金) 23:11:330381デフォルトの名無しさん
2010/11/20(土) 01:21:36Microsoft Quick C
0382デフォルトの名無しさん
2010/11/20(土) 03:16:25まあやっといて損はない。
0383デフォルトの名無しさん
2010/11/20(土) 12:26:520384デフォルトの名無しさん
2010/11/20(土) 12:28:20何が起こるんだ?
0385デフォルトの名無しさん
2010/11/20(土) 12:33:470386デフォルトの名無しさん
2010/11/20(土) 13:00:02* + ,Oニ二_.工業用__)
i!|i 〒 ! + 。 + 。 * 。
+ i!|i 。 | |
* i!|i + / / イヤッッホォォォオオォオウ--------イ!
∧!|i∧ / /
(´∀`u/ / + 。 + 。 * 。
,-u f ()] カチッ!
/ ュヘ u | * + □(E) 。 + 。 +
〈_} ) | ∧_∧/ /
/ ! (´∀`*) / + + *
./ ,ヘ |⊂ニニ /
ガタン ||| j / | | ||| / /
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0387デフォルトの名無しさん
2010/11/20(土) 13:30:360388デフォルトの名無しさん
2010/11/20(土) 15:41:570389デフォルトの名無しさん
2010/11/20(土) 16:44:490390デフォルトの名無しさん
2010/11/20(土) 17:39:00おまえらありがとう!
0391デフォルトの名無しさん
2010/11/20(土) 19:53:190392デフォルトの名無しさん
2010/11/20(土) 20:45:440393デフォルトの名無しさん
2010/11/20(土) 21:00:560394デフォルトの名無しさん
2010/11/20(土) 23:07:460395デフォルトの名無しさん
2010/11/20(土) 23:32:060396デフォルトの名無しさん
2010/11/21(日) 02:09:400397デフォルトの名無しさん
2010/11/21(日) 02:30:330398デフォルトの名無しさん
2010/11/21(日) 03:19:340399デフォルトの名無しさん
2010/11/21(日) 04:37:37そう、概念はね。でも実装は(実質)同じ。
実装が同じでも概念が別なら別物として扱うべきか? という数十年来の
議論をまた蒸し返そうってんだぜ。>>396はよ。
0400デフォルトの名無しさん
2010/11/21(日) 05:03:45RECTとRECTLの違いは何?
0401デフォルトの名無しさん
2010/11/21(日) 05:10:380402デフォルトの名無しさん
2010/11/21(日) 09:36:27POINT構造体と↓こういう構造体をわける必要は無いかね?
struct baka_aho {
LONG number_of_baka;
LONG number_of_aho;
};
0403デフォルトの名無しさん
2010/11/21(日) 11:55:57ウィンドウのサイズを変更するたびにウィンドウが点滅するのですが、
点滅しないようにできないのでしょうか?
他のアプリケーション見ていると点滅していないし、できるとは思うんですけど。
0404デフォルトの名無しさん
2010/11/21(日) 12:21:010405デフォルトの名無しさん
2010/11/21(日) 12:55:05ちらつき デバイスコンテキスト
で検索するとよい。
0406デフォルトの名無しさん
2010/11/21(日) 13:02:03ありがとうございます。
これで解決できそうです。
0407デフォルトの名無しさん
2010/11/21(日) 15:32:110408デフォルトの名無しさん
2010/11/21(日) 16:30:40Flicker Free Drawing
ttp://www.catch22.net/tuts/flicker
Double-buffing and memory-DC's
The basic way double-buffering works is like this:
HDC hdcMem;
HBITMAP hbmMem;
HANDLE hOld;
PAINTSTRUCT ps;
HDC hdc;
....
case WM_PAINT:
// Get DC for window
hdc = BeginPaint(hwnd, &ps);
// Create an off-screen DC for double-buffering
hdcMem = CreateCompatibleDC(hdc);
hbmMem = CreateCompatibleBitmap(hdc, win_width, win_height);
hOld = SelectObject(hdcMem, hbmMem);
// Draw into hdcMem
// Transfer the off-screen DC to the screen
BitBlt(hdc, 0, 0, win_width, win_height, hdcMem, 0, 0, SRCCOPY);
// Free-up the off-screen DC
SelectObject(hdcMem, hOld);
DeleteObject(hbmMem);
DeleteDC (hdcMem);
EndPaint(hwnd, &ps);
return 0;
0409デフォルトの名無しさん
2010/11/21(日) 16:32:130410デフォルトの名無しさん
2010/11/21(日) 17:39:14うんこうんこうんこー!
0411デフォルトの名無しさん
2010/11/21(日) 17:40:030412デフォルトの名無しさん
2010/11/21(日) 17:47:01毎回作るのは明ら蟹無駄だ都思わ内科医?
0413デフォルトの名無しさん
2010/11/21(日) 18:14:48デスクトップコンポジッションが変わったときだけでいいの?
0414デフォルトの名無しさん
2010/11/21(日) 18:30:500415デフォルトの名無しさん
2010/11/21(日) 18:45:260416デフォルトの名無しさん
2010/11/21(日) 18:56:120417デフォルトの名無しさん
2010/11/21(日) 18:56:570418デフォルトの名無しさん
2010/11/21(日) 19:20:39谷はそういって服を脱ぎ始めた。
亮子はいつもそうだった。自分勝手で、わがままで。明日、試合を控えてる俺の事情などそっちのけで
子作りしたいなどと。まったくこまった奴だ。
でも、今日は許してあげようかと思う。最近ご無沙汰だった為、亮子はご機嫌斜めだったしな。
いやと言ってもやめてくれなさそうだし、諦めて夜のお勤め、させていただくとするか。 俺は服を脱ぎ始めた。
真っ赤にほてった亮子の素肌は、柔道家とは思えないきれいな肌だった。
カラダには無駄な肉は付いてないし、引き締まっててナイスボディだ。
裸体の谷も、柔道家の谷も、妻としての谷も、どれも俺は好きなのは知っていた。しかし、やはり郡を
ぬいて今の亮子は素敵だ。 なんつーのはいつも言ってる言葉か。 少し笑う。
いきり立つ俺の息子は、亮子の裸体に反応していた。それをみかねた亮子は、そっと
手でさすり始めた。 いや、しごきはじめた。が適切だろうか。 手コキだ。
くちゅくちゅと、唇で息子の先端をいやらしく吸っている亮子は、どこか激しかった。
ルビーのように赤くなった俺の息子は、激しい攻めに負け、一本とられてしまったようだ。 僕は射精した
0419デフォルトの名無しさん
2010/11/21(日) 20:27:35俺もそう思って極力作り直さないようにしてみたことがあったけど、
毎回作り直した場合と有意な差は出なかった。
0420デフォルトの名無しさん
2010/11/21(日) 20:47:540421デフォルトの名無しさん
2010/11/21(日) 21:18:460422デフォルトの名無しさん
2010/11/21(日) 21:20:300423デフォルトの名無しさん
2010/11/21(日) 21:23:16新谷良子を知らないんだね
0424デフォルトの名無しさん
2010/11/21(日) 21:28:380425デフォルトの名無しさん
2010/11/21(日) 21:35:280426デフォルトの名無しさん
2010/11/21(日) 21:38:540427デフォルトの名無しさん
2010/11/21(日) 21:48:020428デフォルトの名無しさん
2010/11/21(日) 21:52:310429デフォルトの名無しさん
2010/11/21(日) 23:49:47また、その値はwindows.hに定義されているのでしょうか。
0430デフォルトの名無しさん
2010/11/21(日) 23:51:550431デフォルトの名無しさん
2010/11/21(日) 23:53:25LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT;
0432デフォルトの名無しさん
2010/11/21(日) 23:54:100433デフォルトの名無しさん
2010/11/22(月) 00:03:46お前は一体何に使えばいいの?
0434デフォルトの名無しさん
2010/11/22(月) 00:11:410435デフォルトの名無しさん
2010/11/22(月) 00:13:140436デフォルトの名無しさん
2010/11/22(月) 00:14:47MS-C とかな
0437デフォルトの名無しさん
2010/11/22(月) 00:18:200438デフォルトの名無しさん
2010/11/22(月) 00:18:520439デフォルトの名無しさん
2010/11/22(月) 00:33:000440デフォルトの名無しさん
2010/11/22(月) 00:49:470441デフォルトの名無しさん
2010/11/22(月) 01:01:490442デフォルトの名無しさん
2010/11/22(月) 01:39:530443デフォルトの名無しさん
2010/11/22(月) 02:16:530444デフォルトの名無しさん
2010/11/22(月) 04:28:230445デフォルトの名無しさん
2010/11/22(月) 16:57:060446デフォルトの名無しさん
2010/11/22(月) 17:09:04初期化にはSetRect
コピーにはCopyRect
比較にはEqualRect等
解放前にはSetRectEmpty
この基本を守らないと将来のWindowsでメモリリークなどの可能性が
0447デフォルトの名無しさん
2010/11/22(月) 18:18:11スレッドアフィニティーだと、自前の処理で発生したスレッドの管理はできますが、ライブラリが
生成したスレッドまではカバーできません。
よろしくお願いします。
0448デフォルトの名無しさん
2010/11/22(月) 18:28:23ttp://msdn.microsoft.com/ja-jp/library/Cc429334
0449デフォルトの名無しさん
2010/11/22(月) 18:28:56SetProcessAffinityMask
がありました。試してみます
0450デフォルトの名無しさん
2010/11/22(月) 18:36:32これは酷い
0452CopyRect
2010/11/22(月) 19:45:570453デフォルトの名無しさん
2010/11/22(月) 19:54:48┃| 三
┃| 三
┃| 三
┃| 三
┃|
┃| ピシャッ!
┃| ∧∧
┃| (; ) 三
┃|⊂ \
0454デフォルトの名無しさん
2010/11/22(月) 22:31:33その方法を、母も、姉も、父も、先生も、みな教えてはくれませんでした。
どうしたらいいかわからず困惑しております、助けてください!!
スレ違いかも知れませんが、当方極めて切羽詰っております、平にご容赦を・・・
0455デフォルトの名無しさん
2010/11/22(月) 22:33:490456デフォルトの名無しさん
2010/11/22(月) 22:36:1530秒でその指摘はひどい
0457デフォルトの名無しさん
2010/11/22(月) 23:31:59マジレスすると、君の思いをどうやって伝えるかという一点になる。
その表現方法は色々あるけど、それは場合で選択するべきであり、
何を持って謝罪とするかは両者の合意に近いものだ。
だから考えろ。そして元のバランスの取れた状態に戻す方法を思案するんだ。
0458デフォルトの名無しさん
2010/11/22(月) 23:34:34まぁ用意されてる関数でやるのが妥当なんだろうけど、
どうせCopyRectExExとかが登場するのさ
0459デフォルトの名無しさん
2010/11/22(月) 23:37:210460デフォルトの名無しさん
2010/11/22(月) 23:40:000461デフォルトの名無しさん
2010/11/23(火) 00:10:260462デフォルトの名無しさん
2010/11/23(火) 01:06:11まて、元ネタはとんでもなく低レベルだが
それはとんでもなく高次元で人間やめてるぞ
0463デフォルトの名無しさん
2010/11/23(火) 01:18:250464デフォルトの名無しさん
2010/11/23(火) 01:19:080465デフォルトの名無しさん
2010/11/23(火) 01:41:080466デフォルトの名無しさん
2010/11/23(火) 01:44:100467デフォルトの名無しさん
2010/11/23(火) 02:28:120468デフォルトの名無しさん
2010/11/23(火) 05:36:500469デフォルトの名無しさん
2010/11/23(火) 09:07:380470デフォルトの名無しさん
2010/11/23(火) 09:21:36HTTPのRefererとか。(正しくはReferrer)
0471デフォルトの名無しさん
2010/11/23(火) 10:03:100472デフォルトの名無しさん
2010/11/23(火) 12:09:31まじかよ…
ずっとrefererって英単語だと思ってた
0473デフォルトの名無しさん
2010/11/23(火) 12:14:490474デフォルトの名無しさん
2010/11/23(火) 13:00:410475デフォルトの名無しさん
2010/11/23(火) 15:52:45違うの?
0476デフォルトの名無しさん
2010/11/23(火) 16:37:34RFCにもReferer[sic]って書いてあるだろ。
>>475
constructorって普通指が覚えてないか?
0477デフォルトの名無しさん
2010/11/23(火) 16:49:39abstruct も時々みかける
0478デフォルトの名無しさん
2010/11/23(火) 17:51:020479デフォルトの名無しさん
2010/11/23(火) 18:07:580480デフォルトの名無しさん
2010/11/23(火) 19:11:310481デフォルトの名無しさん
2010/11/23(火) 19:25:190482デフォルトの名無しさん
2010/11/23(火) 19:49:550483デフォルトの名無しさん
2010/11/23(火) 19:57:330484デフォルトの名無しさん
2010/11/24(水) 00:12:520485デフォルトの名無しさん
2010/11/24(水) 00:47:150486デフォルトの名無しさん
2010/11/24(水) 00:54:210487デフォルトの名無しさん
2010/11/24(水) 02:10:02C辺りで問題が出そうなのは比較のみ。
0488デフォルトの名無しさん
2010/11/24(水) 09:26:410489デフォルトの名無しさん
2010/11/24(水) 15:40:40kwsk
0490デフォルトの名無しさん
2010/11/24(水) 15:42:370491デフォルトの名無しさん
2010/11/24(水) 16:25:49可変次元になったら死ぬかも
0492デフォルトの名無しさん
2010/11/24(水) 16:53:26ヒープに確保するような面倒なこともそうそうしないし。
0493デフォルトの名無しさん
2010/11/24(水) 16:55:260494デフォルトの名無しさん
2010/11/24(水) 17:31:080495デフォルトの名無しさん
2010/11/24(水) 17:32:120496デフォルトの名無しさん
2010/11/24(水) 17:39:290497デフォルトの名無しさん
2010/11/24(水) 17:42:060498デフォルトの名無しさん
2010/11/24(水) 18:37:140499デフォルトの名無しさん
2010/11/24(水) 18:45:380500デフォルトの名無しさん
2010/11/24(水) 18:53:190501デフォルトの名無しさん
2010/11/24(水) 19:45:42http://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%B3%E3%82%B0%E3%83%BC%E3%83%B3%E4%BA%8B%E4%BB%B6
その後の変遷
日本の朝鮮学校では、本件ラングーン事件および大韓航空機爆破事件について、
「北朝鮮による犯行ではない」とする教育が2010年現在も行われている。
0502デフォルトの名無しさん
2010/11/24(水) 20:23:34goto >>500;
}
0503デフォルトの名無しさん
2010/11/24(水) 23:12:260504デフォルトの名無しさん
2010/11/24(水) 23:32:260505デフォルトの名無しさん
2010/11/25(木) 01:19:510506デフォルトの名無しさん
2010/11/25(木) 03:47:230507デフォルトの名無しさん
2010/11/25(木) 04:23:53{
DWORD dummy;
CreateThread(NULL, 0, procThread, NULL, 0, &dummy);
CreateThread(NULL, 0, procThread, NULL, 0, &dummy);
ExitThread(0);
return 0;
}
int main(int argc, char *argv[])
{
procThread(NULL);
}
0508デフォルトの名無しさん
2010/11/25(木) 09:13:550509デフォルトの名無しさん
2010/11/25(木) 09:18:370510デフォルトの名無しさん
2010/11/25(木) 12:48:020511デフォルトの名無しさん
2010/11/25(木) 16:20:130512デフォルトの名無しさん
2010/11/25(木) 16:40:34早急に廃止するべき
0513デフォルトの名無しさん
2010/11/25(木) 16:55:490514デフォルトの名無しさん
2010/11/25(木) 19:16:000515デフォルトの名無しさん
2010/11/25(木) 19:41:11打つとき毎回邪な事を考えてしまう
0516デフォルトの名無しさん
2010/11/25(木) 20:10:460517デフォルトの名無しさん
2010/11/25(木) 20:16:270518デフォルトの名無しさん
2010/11/25(木) 20:20:490519デフォルトの名無しさん
2010/11/25(木) 20:23:49刺身
0520デフォルトの名無しさん
2010/11/25(木) 20:27:530521デフォルトの名無しさん
2010/11/25(木) 21:38:000522デフォルトの名無しさん
2010/11/25(木) 22:13:160523デフォルトの名無しさん
2010/11/25(木) 22:17:080524デフォルトの名無しさん
2010/11/25(木) 22:19:440525デフォルトの名無しさん
2010/11/25(木) 22:22:100526デフォルトの名無しさん
2010/11/25(木) 23:08:140527デフォルトの名無しさん
2010/11/25(木) 23:30:400528デフォルトの名無しさん
2010/11/26(金) 12:12:080529デフォルトの名無しさん
2010/11/26(金) 20:29:11そのリモート接続のユーザ名が取得されるで正しいですか?
手元に環境がないので、わかりません。
0530デフォルトの名無しさん
2010/11/26(金) 21:44:41そのスレッドを実行させたユーザーの名前がかえりますヨン
0531デフォルトの名無しさん
2010/11/26(金) 23:33:460532デフォルトの名無しさん
2010/11/27(土) 01:38:040533デフォルトの名無しさん
2010/11/27(土) 05:12:460534デフォルトの名無しさん
2010/11/27(土) 14:27:31環境がないなら、XP/Vista/7のリモートデスクトップで試したらいいと思うよ。
0535デフォルトの名無しさん
2010/11/27(土) 14:42:37接続ユーザー以外で返りそうなものって何がある?
0536デフォルトの名無しさん
2010/11/27(土) 17:23:350537デフォルトの名無しさん
2010/11/27(土) 19:48:430538デフォルトの名無しさん
2010/11/27(土) 19:55:450539デフォルトの名無しさん
2010/11/27(土) 20:39:25構造体のコピーができなくてもできる
0540デフォルトの名無しさん
2010/11/27(土) 20:43:160541デフォルトの名無しさん
2010/11/27(土) 20:48:290542デフォルトの名無しさん
2010/11/27(土) 21:31:230543デフォルトの名無しさん
2010/11/27(土) 21:31:580544デフォルトの名無しさん
2010/11/27(土) 22:09:340545デフォルトの名無しさん
2010/11/27(土) 22:13:170546デフォルトの名無しさん
2010/11/27(土) 22:45:570547デフォルトの名無しさん
2010/11/27(土) 23:24:490548デフォルトの名無しさん
2010/11/27(土) 23:46:230549デフォルトの名無しさん
2010/11/27(土) 23:49:510550デフォルトの名無しさん
2010/11/28(日) 03:32:28wprintfとかsprintfとかいじっているけど全然分からない
こういうように考えること自体が的外れなんかな
0551デフォルトの名無しさん
2010/11/28(日) 04:35:33Cの基本的なことは4時間も集中すれば十分覚えられる。ガンバルンバ
あとポインタは飛ばしていいかもしれない。Win32使ってる間に自然に覚えられる。
0552デフォルトの名無しさん
2010/11/28(日) 04:40:010553デフォルトの名無しさん
2010/11/28(日) 11:19:420554デフォルトの名無しさん
2010/11/28(日) 17:30:06思われ
0555デフォルトの名無しさん
2010/11/28(日) 17:33:230556デフォルトの名無しさん
2010/11/28(日) 17:51:180557デフォルトの名無しさん
2010/11/28(日) 18:05:260558デフォルトの名無しさん
2010/11/28(日) 18:10:39何を分からないっていってるのか分からない
0559デフォルトの名無しさん
2010/11/28(日) 18:45:230560デフォルトの名無しさん
2010/11/28(日) 18:51:540561デフォルトの名無しさん
2010/11/28(日) 18:52:170562デフォルトの名無しさん
2010/11/28(日) 18:52:480563デフォルトの名無しさん
2010/11/28(日) 19:12:37あくまでポインタのコピーを受け取っただけ
つまり受け渡し側がそのポインタに対して何か操作をしたとしても
そのポインタがさすアドレスに入ってる値を知ることはできるが
アドレス自体がどうなってるかは感知することが出来ない
例えば呼び出し元がそのアドレスにあるものを開放しちゃって無効になっていたり
別のオブジェクトをさすように書き換えたりしても
受け取り側のアドレスはコピーなので渡された時点のアドレスにあるものを処理しようとしてしまう
0564デフォルトの名無しさん
2010/11/28(日) 19:25:200565デフォルトの名無しさん
2010/11/28(日) 19:30:410566デフォルトの名無しさん
2010/11/28(日) 20:31:190567デフォルトの名無しさん
2010/11/28(日) 20:35:170568デフォルトの名無しさん
2010/11/28(日) 20:41:50天命ねえ…エラソーだね
0569デフォルトの名無しさん
2010/11/28(日) 20:50:240570デフォルトの名無しさん
2010/11/28(日) 20:51:040571デフォルトの名無しさん
2010/11/28(日) 21:01:220572デフォルトの名無しさん
2010/11/28(日) 21:20:520573デフォルトの名無しさん
2010/11/28(日) 21:25:180574デフォルトの名無しさん
2010/11/28(日) 21:35:470575デフォルトの名無しさん
2010/11/28(日) 21:36:250576デフォルトの名無しさん
2010/11/28(日) 21:37:080577デフォルトの名無しさん
2010/11/28(日) 22:51:080578デフォルトの名無しさん
2010/11/28(日) 22:54:560579デフォルトの名無しさん
2010/11/28(日) 23:31:300580デフォルトの名無しさん
2010/11/28(日) 23:35:300581デフォルトの名無しさん
2010/11/29(月) 00:31:35回答ありがとう
深夜でほとんどやけくそになっていたから質問が日本語になってないな
要約すると、恐らくLPCSTRやLPCTSTRやWってなんだよそれに整形して入れるにはどうしたらいいんだろうという話だったんだと思う
static TCHAR buf[4];
sprintf(buf,"%d",21);
TextOut(hdc,100,150,buf,lstrlen(buf));
をユニコードでやっていたからエラーだったのでググった結果マルチバイトにしたら通った
ただユニコードならどうやればいいのかまだ分からないのでどなたか教えて欲しい
同じように
static WCHAR buf[4];
wprintf(buf,"%d",21);
TextOut(hdc,100,150,buf,lstrlen(buf));
としてみたがコンパイラは通るが動かない
0582デフォルトの名無しさん
2010/11/29(月) 00:38:04TextOutW
にしたらどう?
0583デフォルトの名無しさん
2010/11/29(月) 01:00:46_T("文字列")
0584デフォルトの名無しさん
2010/11/29(月) 01:03:280585デフォルトの名無しさん
2010/11/29(月) 01:31:28CopyMemory
ttp://msdn.microsoft.com/ja-jp/library/cc430033.aspx
0586デフォルトの名無しさん
2010/11/29(月) 02:30:28助かった、ありがとう
tchar.hと_stprintf_sという関数があったのか
やっぱやり方ばかりに囚われないでユニとかマルチワイドとか基本的なことから押さえないとアカンね
0587デフォルトの名無しさん
2010/11/29(月) 03:50:370588デフォルトの名無しさん
2010/11/29(月) 03:55:380589デフォルトの名無しさん
2010/11/29(月) 05:21:130590デフォルトの名無しさん
2010/11/29(月) 05:23:02単純なプログラムほど出力物のファイルサイズ激減
CRT意外とおっき
0591デフォルトの名無しさん
2010/11/29(月) 05:39:05そんな大きいの入らないお?
0592デフォルトの名無しさん
2010/11/29(月) 09:21:34修飾部分が本体の文字数を超えるほど何度も拡張されてるんだな
0593デフォルトの名無しさん
2010/11/29(月) 10:11:250594デフォルトの名無しさん
2010/11/29(月) 10:20:480595593
2010/11/29(月) 10:24:460596デフォルトの名無しさん
2010/11/29(月) 10:30:370597デフォルトの名無しさん
2010/11/29(月) 10:42:550598デフォルトの名無しさん
2010/11/29(月) 11:18:230599デフォルトの名無しさん
2010/11/29(月) 14:36:240600デフォルトの名無しさん
2010/11/29(月) 17:12:120601デフォルトの名無しさん
2010/11/29(月) 17:16:020602デフォルトの名無しさん
2010/11/29(月) 17:22:080603デフォルトの名無しさん
2010/11/29(月) 17:25:500604デフォルトの名無しさん
2010/11/29(月) 17:43:190605デフォルトの名無しさん
2010/11/29(月) 19:14:350606デフォルトの名無しさん
2010/11/29(月) 23:00:500607デフォルトの名無しさん
2010/11/30(火) 03:32:490608デフォルトの名無しさん
2010/11/30(火) 09:50:150609デフォルトの名無しさん
2010/11/30(火) 23:13:39画像ファイルのサムネイルを表示してみようとしたのですが、
ImageListに80x80ピクセルのHBITMAPを設定したのですが、真っ黒でしか表示されません。
FillRectで紫で塗りつぶしたりしてみましたが、一向に変化なし。
ためしに、ピクチャーコントロールにHBITMAPを貼り付けてみたら、正しく表示されました。
これって、何か設定が足りないのでしょうか? もしかして、アイコンしか表示できないのでしょうか?
0610デフォルトの名無しさん
2010/11/30(火) 23:17:52ソース貼ってみろ
イメージリストにビットマップを読み込むところがおかしいんだろう
0611デフォルトの名無しさん
2010/11/30(火) 23:33:22問題なくリストビューに表示できるということですね。
0612デフォルトの名無しさん
2010/12/01(水) 00:04:210613デフォルトの名無しさん
2010/12/01(水) 00:10:30次はImageList_Drawで描画されるか確認したら良いんじゃないか?
0614デフォルトの名無しさん
2010/12/01(水) 00:16:33真っ黒でした。
やっぱフルカラーデータをリストビューに表示ってのがマズイのかも知れませんね。
0615デフォルトの名無しさん
2010/12/01(水) 00:19:330616デフォルトの名無しさん
2010/12/01(水) 00:27:300617デフォルトの名無しさん
2010/12/01(水) 00:28:36ピクチャーコントロールに対して、HBITMAPの表示はOK。
イメージリストに登録したHBITMAPは、ピクチャーコントロール、リストビュー共にNG。
ということは、やっぱイメージリストの設定がおかしいのか…。
ちなみに、ImageList_Createの最後の引数、cGrowって0以外の数値でも大丈夫ですか?
ImageList_Addしてって、cInitialの個数を超えたら、cGrowまで拡張って解釈してるんですけど。
0618デフォルトの名無しさん
2010/12/01(水) 00:30:06同様でした。
0619デフォルトの名無しさん
2010/12/01(水) 00:30:340620デフォルトの名無しさん
2010/12/01(水) 00:32:300621デフォルトの名無しさん
2010/12/01(水) 02:00:07拡大されてしまう為、これを阻止し、
アイコンを中央に表示したいと思うのですが、どういった方法をとればよいのでしょうか。
HBITMAPに貼り付けてAddしてみたのですが、ギザギザなアイコンしか表示することが出来ませんでした。
0622デフォルトの名無しさん
2010/12/01(水) 08:57:120623デフォルトの名無しさん
2010/12/01(水) 08:58:290624デフォルトの名無しさん
2010/12/01(水) 09:01:130625デフォルトの名無しさん
2010/12/01(水) 09:34:410626デフォルトの名無しさん
2010/12/01(水) 10:38:290627デフォルトの名無しさん
2010/12/01(水) 17:04:590628デフォルトの名無しさん
2010/12/01(水) 19:28:54元々、複数の同サイズのイメージを管理するためのものだから、
そういう対応は難しい気がする。
予め256x256の画像の中心に貼り付けてから追加するとか、
自前で好きなように描画するとかしかないんじゃないか?
0629デフォルトの名無しさん
2010/12/01(水) 20:04:250630デフォルトの名無しさん
2010/12/01(水) 20:07:470631デフォルトの名無しさん
2010/12/01(水) 21:15:07イメージリストに登録する前に、HBITMAPのデバイスコンテキストを
開放していないことがいけなかったようです。
0632デフォルトの名無しさん
2010/12/02(木) 02:34:57反転表示させず、エクスプローラの様に黒枠で囲むにはどのような操作が必要でしょうか。
0633デフォルトの名無しさん
2010/12/02(木) 03:10:550634デフォルトの名無しさん
2010/12/02(木) 13:41:57There are no programmers.
There are only 2channelers.
0635デフォルトの名無しさん
2010/12/02(木) 18:27:490636デフォルトの名無しさん
2010/12/02(木) 20:57:352重起動でプログラムを実行すると、1つ目のアプリにフォーカスが当たり最前に表示(最小化から復元)するのを見かけます。これと同じことをしたい
のですが、どのように実装すればよいのでしょうか?
0637デフォルトの名無しさん
2010/12/02(木) 20:59:46まず、多重起動してるかかくにんする。
次にウインドウハンドルをとって最小化を解除する。
後はお好きに。
0638デフォルトの名無しさん
2010/12/02(木) 23:35:560639デフォルトの名無しさん
2010/12/02(木) 23:43:280640デフォルトの名無しさん
2010/12/03(金) 01:11:180641デフォルトの名無しさん
2010/12/03(金) 01:47:070642デフォルトの名無しさん
2010/12/03(金) 07:46:100643デフォルトの名無しさん
2010/12/03(金) 08:09:22HMMIO hMmio = NULL;
MMIOINFO m;
memset(&m, 0, sizeof(MMIOINFO));
m.pchBuffer = メモリへのポインタ;
m.fccIOProc = FOURCC_MEM;
m.cchBuffer = サイズ;
hMmio = mmioOpen(NULL, &m, MMIO_ALLOCBUF | MMIO_READ);
上のm.pchBuffer = メモリへのポインタ;でアクセス違反で止まってしまいます。
MSDNにMMIOINFOについて載っていないのでよくわかりません。ご教授お願いします。
0644デフォルトの名無しさん
2010/12/03(金) 08:15:40それは偽物のMSDN。本物は
http://msdn.microsoft.com/en-us/library/dd757331(VS.85).aspx
0645デフォルトの名無しさん
2010/12/03(金) 09:19:39サンクスできた
0646デフォルトの名無しさん
2010/12/03(金) 15:27:530647デフォルトの名無しさん
2010/12/03(金) 17:30:100648デフォルトの名無しさん
2010/12/03(金) 17:57:340649デフォルトの名無しさん
2010/12/03(金) 18:27:500650デフォルトの名無しさん
2010/12/03(金) 18:29:090651デフォルトの名無しさん
2010/12/03(金) 18:32:500652デフォルトの名無しさん
2010/12/03(金) 18:40:110653デフォルトの名無しさん
2010/12/03(金) 18:59:230654640
2010/12/03(金) 19:32:520655デフォルトの名無しさん
2010/12/04(土) 10:37:230656デフォルトの名無しさん
2010/12/04(土) 11:33:240657デフォルトの名無しさん
2010/12/04(土) 11:35:300658デフォルトの名無しさん
2010/12/04(土) 12:07:190659デフォルトの名無しさん
2010/12/04(土) 19:45:240660デフォルトの名無しさん
2010/12/04(土) 20:16:180661デフォルトの名無しさん
2010/12/04(土) 20:17:210662デフォルトの名無しさん
2010/12/05(日) 01:01:140663デフォルトの名無しさん
2010/12/05(日) 01:17:38FindWindowExにはそのような問題はないのでしょうか?
最初にhwndChildAfter=NULLで呼び出したときにウィンドウツリーのスナップショットを持っていてくれればよいのですが、
EnumChildWindowsの場合と違って、スナップショットのメモリを解放すべき時期がWin32には分からないように思えます。
0664デフォルトの名無しさん
2010/12/05(日) 02:22:060665デフォルトの名無しさん
2010/12/05(日) 04:42:27ヤフオクとかで安く出てるけど。
0666デフォルトの名無しさん
2010/12/05(日) 04:43:370667デフォルトの名無しさん
2010/12/05(日) 09:07:26一部 64bit専用の API が追加されてることと
データ型のサイズに気をつけることと
あとまぁちょっとぐらいなにかあったかもしれない。
本はちゃんと読んでないからわからないけど
最初の方で Win64 でのプログラミングに関して
注意する点だけ書いて
あとは Win32本と基本的に同じなんじゃないかな。
一応 MSDN に情報はある。
64 ビット Windows プログラミング ガイド
http://msdn.microsoft.com/ja-jp/library/bb427430(v=VS.85).aspx
0668デフォルトの名無しさん
2010/12/05(日) 10:14:050669デフォルトの名無しさん
2010/12/05(日) 19:48:550670デフォルトの名無しさん
2010/12/05(日) 21:06:47例えばコントロールAのクライアント内でマウスをクリックする度に
画像を切り替えていく処理を作っていてBitBltで実現しているのですが、
描画する度に前回の描画状態が残ってしまいます。
InvalidateRect( NULL, NULL, TRUE );でやると前回の描画状態も
消えてくれるのですが、画面全体がちらついてしまうので
やはり対象のコントロールAのクライアント領域に対してのみ
前回描画状態のリフレッシュをやったあと描画をやりたいのですが
どういうやり方でやればいいのでしょうか?
色々試したのですがどうしてもできません。
よろしくお願いします。
0671デフォルトの名無しさん
2010/12/05(日) 21:07:410672デフォルトの名無しさん
2010/12/05(日) 21:12:250673デフォルトの名無しさん
2010/12/05(日) 21:30:59せめて、第一引数にウインドウハンドル入れるんだ。改善しないと思うけど。
第二引数はGetCliantRectでとったものを入れるのが望ましく、
第三引数はFALSEにしておいて、ウインドウ全体をかきかえるのが望ましいかな。
ダーティレクトは捨てるんだ。
0674デフォルトの名無しさん
2010/12/05(日) 21:31:590675デフォルトの名無しさん
2010/12/05(日) 22:21:58>前回描画状態のリフレッシュをやったあと描画をやりたいのですが
消したいのか残したいのかどっちなんだ?
0676670
2010/12/05(日) 22:54:07コントロールAの領域がクリックされる
↓
画像1をBitBltでコントロールAのクライアント領域に描画
↓
コントロールAの領域がクリックされる
↓
画像2をBitBltでコントロールAのクライアント領域に描画
↓
コントロールAの領域がクリックされる
↓
コントロールAの領域に描画されている状態をクリア(消す)
これがやりたいのです。
コントロールAはCreateWindowExで生成しており、
WC_STATICWとWS_CHILD | WS_VISIBLE | SS_BITMAPを指定しています。
上記のハンドルをサブクラス化して「WM_NCHITTEST」のタイミングで
そのコントロールに対してBitBltを行った後、InvalidateRect()を呼び出して
画像を描画しているのですが、画像1と2の切り替えは都度描画されるので
上手くいき、最後の画像を消すという処理がうまくいってない状態にあります。
画像を消す処理は単純にInvalidateRect( hWnd, NULL, TRUE );を行い
WM_PAINTでBeginPaint()を呼べば描画状態が初期化されると思っていたのですが
そうでもないみたいで、手詰まりの状態です・・。
正直こういう描画関連の処理はいままでそれほどやってきたことがないので、
単純に知識不足なのでしょうが、自分が思い浮かんだ解決策として
画像をもう一つ用意してその画像の背景色を透明化(スプライト)させて
BitBltで描画という手法があるにはあるのですが、可能であればそういう事をせずに
解決できればと思っています。何かいい案があれば教えてください。
>>671
教えていただいてありがとうございます。それも一つの案として他にも何かないかもう少し探してみます。
0677デフォルトの名無しさん
2010/12/05(日) 23:08:360678デフォルトの名無しさん
2010/12/05(日) 23:28:25継承元のDefaultWindowProc呼び忘れてるんだろうな
0679デフォルトの名無しさん
2010/12/06(月) 00:58:51何でサブクラス化したりBitBltしたり面倒なことをしているのか?
SS_BITMAPを使うならSTM_SETIMAGEやSTN_CLICKEDを調べたらどうか?
0680デフォルトの名無しさん
2010/12/06(月) 01:06:560681デフォルトの名無しさん
2010/12/06(月) 01:10:340682デフォルトの名無しさん
2010/12/06(月) 01:33:590683670
2010/12/06(月) 01:45:35BitBltやっているのは画像の一部分(背景色)を透明化している為です。
>>STN_CLIKEDを調べたらどうか?
マジありがとうございます!
そいつの存在を忘れていました。
結局この時間帯まで頑張ってできなかった・・。
ソース一式晒したほうがいいでしょうか?
0684デフォルトの名無しさん
2010/12/06(月) 02:24:27晒せ
0685デフォルトの名無しさん
2010/12/06(月) 02:27:270686デフォルトの名無しさん
2010/12/06(月) 02:27:48親ウィンドウに自ウィンドウ矩形範囲のInvalidateRectをかけてやると
うまく動作するのは確認した。
CS_PARENTDCの付いたウィンドウは、
ウィンドウ矩形位しか管理していないと考えて扱うべきなのかなあ。
0687670
2010/12/06(月) 03:26:56解決できないとなかなか寝る気になれないですね。
でも、でも流石にもう限界なので寝ます
>>684
ソースは下記にうpしました。
http://uproda.2ch-library.com/lib320763.zip.shtml
パスは「win32api」
環境はVisual Studio 2008 Proです。
問題個所は「PIFSubClassProc.c」の154行目(InvalidateRect)
あたりというか「WM_NCHITTEST」と「WM_PAINT」全体だと思います。
WM_PAINT処理は今までそんなに触ってこなかったので
他にも色々指摘してくれると助かります。
※ツールの内容は勉強を含めて自己満の世界なので触れないでやってください・・
では、時間がほんとにやばいので寝ます。
0688670
2010/12/06(月) 03:31:47左したあたりの画像をクリックしてもらえるとなんとなく自分が
やりたいことがわかると思います。
クリック場所はクライアント座標の「600, 460」あたりです。
座標の設定ファイルはPIF.posファイルなので適当に眺めてみてください。
よろしくお願いします
0689デフォルトの名無しさん
2010/12/06(月) 19:25:470690デフォルトの名無しさん
2010/12/06(月) 19:42:590691デフォルトの名無しさん
2010/12/06(月) 20:05:48改造してみた。
適当にデバッグしてドヤ顔しようとおもったらドップリはまったわ。
しかし、そこはかとなくバグってるから、適当に使える部分だけマージしてくれ。
ttp://www1.axfc.net/uploader/File/so/55241.zip&key=dl
0692デフォルトの名無しさん
2010/12/06(月) 20:16:09直接描画で対応してしまった方が手っ取り早い気がするな。
0693デフォルトの名無しさん
2010/12/06(月) 20:28:45普段コントロールなんかまったく使わんから勉強になったよ。
しかも直接生成するのはもっと無いな。
普段あんまりでかいコード書かないのもあるけどね。
0694670
2010/12/06(月) 20:32:21>>691
ぐおおおおおおおお!!
解決のヒントぐらいだと思っていたのですが、改造までしてくれるとは・・・・。
しかも、posファイルの座標調整までしてくれるなんてお礼の言葉もありません。
さっそく差分見てどこが原因だったのか調べてみます。
いい勉強材料になりそうです。ありがとうございました。
0695デフォルトの名無しさん
2010/12/06(月) 20:44:32追加したハンドル開放してないとか色々不具合あるからきをつけてね。
コードのこぴぺは絶対やめるんだ。とだけいっとくか。
0696デフォルトの名無しさん
2010/12/06(月) 22:24:26年齢は俺と同じぐらいかw
0697デフォルトの名無しさん
2010/12/07(火) 18:53:140698デフォルトの名無しさん
2010/12/07(火) 18:54:32ウィンドウズでごみ箱がgで移動すれば便利だけど、日本人は損してる。
0699デフォルトの名無しさん
2010/12/08(水) 08:06:130700デフォルトの名無しさん
2010/12/08(水) 09:16:440701デフォルトの名無しさん
2010/12/08(水) 13:42:200702デフォルトの名無しさん
2010/12/08(水) 13:46:390703デフォルトの名無しさん
2010/12/08(水) 15:34:04一瞬しか表示されないウィンドウがありまして、そいつをキャプションかなにかで監視して、表示したままにできるツール知ってる方いますか?
spy++ならできるっぽいですが、フリーのものを探してます。
0704デフォルトの名無しさん
2010/12/08(水) 16:00:30VCなら、デバッガでブレークポイント打つとか。
0705デフォルトの名無しさん
2010/12/08(水) 16:20:22ありがとうございます。
ですが、そのウィンドウ(ダイヤログ?)を表示してるのは、自分で作ったものじゃないんです。
痛し痒しです。
0706デフォルトの名無しさん
2010/12/08(水) 17:17:510707デフォルトの名無しさん
2010/12/08(水) 17:47:410708デフォルトの名無しさん
2010/12/08(水) 17:57:49タブを縦じゃなくて、上下に表示したときと同じように
横向きで表示する方法ある?
0709デフォルトの名無しさん
2010/12/08(水) 18:26:57いや
それでもデバッガでとめられるんだよ
0710デフォルトの名無しさん
2010/12/08(水) 18:53:590711デフォルトの名無しさん
2010/12/08(水) 20:20:40なるほど…そういったことができそうなデバッガを探してみます。ありがとうございました。フリーでありますかね…
0712デフォルトの名無しさん
2010/12/08(水) 20:21:58指定ファイルが削除可能かどうかのチェックをしたいのですがどのようにすればよいでしょうか?
2個セットのファイルがあり、両方を確実に削除できることを確認後に削除を行います。
ファイルの削除自体はDeleteFile関数で削除します。
0713デフォルトの名無しさん
2010/12/08(水) 20:24:53消してみてからエラー内容で判定すればいい
0714712
2010/12/08(水) 20:28:30いえ、仮にAとBのファイルが存在して、
Aは削除可能、Bは削除不可の場合、 AとBの削除が可能な場合を確認して両方を削除します。
Aが削除成功後にBで失敗というケースがあるので、その方法は無理です(^^;
0715デフォルトの名無しさん
2010/12/08(水) 20:34:090716デフォルトの名無しさん
2010/12/08(水) 20:35:260717デフォルトの名無しさん
2010/12/08(水) 20:37:170718デフォルトの名無しさん
2010/12/09(木) 09:37:270719デフォルトの名無しさん
2010/12/09(木) 15:47:01また戻してくると、そのはみでた部分だけ背景色になっちゃいます。
なのでそのときに再描画させたいんですが、
なんかちょうどいいウィンドウメッセージないですか?
タイマー以外の方法でよろしくお願いします。
0720デフォルトの名無しさん
2010/12/09(木) 16:00:100721デフォルトの名無しさん
2010/12/09(木) 16:02:28つまりInvalidateRect関数を実行するんですが、それを発生させる
タイミングとしてちょうどいいメッセージはないのかを聞いてます。
0722デフォルトの名無しさん
2010/12/09(木) 16:11:170723デフォルトの名無しさん
2010/12/09(木) 16:52:54自動的にwm_paintが発生するということですか?
描画の処理を、WM_paintのメッセージが発生したときに動作する場所に
書いてるはずなのに、描画されないんですが。
0724デフォルトの名無しさん
2010/12/09(木) 16:57:24WM_PAINTの処理書いてるところにブレークポイント張ってみればいい
0725デフォルトの名無しさん
2010/12/09(木) 18:57:440726デフォルトの名無しさん
2010/12/09(木) 18:59:41大きさはご自由に。
0727デフォルトの名無しさん
2010/12/09(木) 19:03:330728デフォルトの名無しさん
2010/12/09(木) 19:13:460729デフォルトの名無しさん
2010/12/09(木) 19:37:40SetWindowPosを使う事にしました。
いろいろありがとうございました。
0730デフォルトの名無しさん
2010/12/09(木) 23:05:020731デフォルトの名無しさん
2010/12/09(木) 23:55:040732デフォルトの名無しさん
2010/12/10(金) 01:27:25CopyRectがなかったらMFCとか.NETとかWindowsとか生まれてないじゃん
0733デフォルトの名無しさん
2010/12/10(金) 01:53:16ステータスバーをくっつけるのって、どうやればいいのでしょうか?
現在は、CreatwWindowEx で水平スクロールバー付きの親ウインドウを作成して、
WM_CRATEメッセージで、CreateStatusWindow にてステータスバーの子ウインドウを
作成したのですが、ステータスバーの下にスクロールバーが付いた状態になってます。
0734デフォルトの名無しさん
2010/12/10(金) 03:32:55親ウィンドウにスクロールバーをつけるのではなく、クライアント領域を覆う子ウィンドウ(MFC的にいうならビュー)を作ってそれにスクロールバーをつけることでしょうな。
つまりビューとステイタスバーを兄弟にするのです。
0735デフォルトの名無しさん
2010/12/10(金) 12:55:080736デフォルトの名無しさん
2010/12/10(金) 14:32:520737デフォルトの名無しさん
2010/12/10(金) 16:52:260738デフォルトの名無しさん
2010/12/10(金) 18:00:570739デフォルトの名無しさん
2010/12/10(金) 20:28:250740デフォルトの名無しさん
2010/12/10(金) 20:30:06なせばなる
0741デフォルトの名無しさん
2010/12/10(金) 20:37:470742デフォルトの名無しさん
2010/12/10(金) 20:39:300743デフォルトの名無しさん
2010/12/10(金) 20:42:56そんなメッセージあったのか。ありがとうございます。
0744デフォルトの名無しさん
2010/12/10(金) 21:07:190745デフォルトの名無しさん
2010/12/10(金) 21:22:06このサイトの内容を参考に、プログラムを組んでみた所
映像は正しく描画されたのですが、終了しようとすると
MediaPlayer.exe の 0x641d3a76 で初回の例外が発生しました: 0xC0000005: Access violation
MediaPlayer.exe の 0x641d3a76 でハンドルされていない例外が発生しました: 0xC0000005: Access violation
このようなエラーが出てきてしまいます。
エラーメッセージで調べてみたりはしたのですが、解決法が分かりませんでした。
どなたか解決法をご存じないでしょうか?
0746デフォルトの名無しさん
2010/12/10(金) 21:23:190747デフォルトの名無しさん
2010/12/10(金) 21:28:10なんと、その通りでした。
お早い回答ありがとうございました。
0748デフォルトの名無しさん
2010/12/11(土) 10:21:37スーパークラスの方がいいな
0749デフォルトの名無しさん
2010/12/11(土) 12:26:530750デフォルトの名無しさん
2010/12/11(土) 12:47:290751デフォルトの名無しさん
2010/12/11(土) 12:57:430752デフォルトの名無しさん
2010/12/11(土) 13:20:550753デフォルトの名無しさん
2010/12/11(土) 13:29:320754デフォルトの名無しさん
2010/12/11(土) 14:11:120755デフォルトの名無しさん
2010/12/11(土) 14:52:110756デフォルトの名無しさん
2010/12/11(土) 16:00:25大学でが多いのに日本だめだよな。低脳でも大学行ける日本って変だよ
大学でって言いながら、実質高校後期課程での奴多いんだろ。俺もだがな
本当に大学でって言えるの、旧帝国大だったところだけらしいぞ
0757デフォルトの名無しさん
2010/12/11(土) 16:15:380758デフォルトの名無しさん
2010/12/11(土) 16:21:170759デフォルトの名無しさん
2010/12/11(土) 16:21:40石を投げれば大学生にあたると言われたのも昔の話で
「アニメーション学科」みたいなクソ学科が増えたこともあって、
いまや、大卒の価値は一流以外は毛ほどにもなくなってる^^
0760デフォルトの名無しさん
2010/12/11(土) 16:47:390761デフォルトの名無しさん
2010/12/11(土) 16:47:460762デフォルトの名無しさん
2010/12/11(土) 20:27:50人間に増減はないんだから
0763デフォルトの名無しさん
2010/12/12(日) 01:12:550764デフォルトの名無しさん
2010/12/12(日) 03:19:11ウィンドウを移動したり、文字を入力したりすると消えてしまうんです。
どうにかして防ぐ方法はないでしょうか?
0765デフォルトの名無しさん
2010/12/12(日) 03:24:310766デフォルトの名無しさん
2010/12/12(日) 04:31:210767デフォルトの名無しさん
2010/12/12(日) 08:57:33もう一回描画すればいいってことですか?
やってみても文字を入力したら背景は消えてしまいます。
0768デフォルトの名無しさん
2010/12/12(日) 09:00:020769デフォルトの名無しさん
2010/12/12(日) 15:36:31親ウィンドウに追随してサイズを変更させるようにするにはどうすればいいでしょうか?
0770デフォルトの名無しさん
2010/12/12(日) 15:40:450771デフォルトの名無しさん
2010/12/12(日) 15:51:58親ウィンドウのプロシージャのWM_SIZEの所でResizeClientを使ったらできました。
ありがとうございます。
0772デフォルトの名無しさん
2010/12/12(日) 17:46:29WM_CTLCOLORで背景ブラシをNULLブラシとかにしてみたら?
0773デフォルトの名無しさん
2010/12/13(月) 08:18:270774デフォルトの名無しさん
2010/12/13(月) 21:38:33その部分はやっぱり白くなってしまいます。
SetBkModeでTRANSPARENTに設定しても、文字の背景が白くなるのでダメです。
どうにかして項目を追加しても、背景の画像が残せる方法はないでしょうか?
0775デフォルトの名無しさん
2010/12/13(月) 22:02:100776デフォルトの名無しさん
2010/12/13(月) 22:21:20ファイルからではなく、ビットマップハンドルから読む方法で。
0777デフォルトの名無しさん
2010/12/14(火) 03:46:05オーナードロー使えば?
0778デフォルトの名無しさん
2010/12/14(火) 03:57:06ListView_SetTextBkColor(hwnd, CLR_NONE);
0779デフォルトの名無しさん
2010/12/14(火) 05:16:33ListView_SetTextBkColorとListView_SetBkColoroをCLR_NONEにすることで
背景は黒色になったのですが、ビットマップの表示がうまくいきません。
ListView_SetBkImageでビットマップハンドルを使用した方法が知りたいです。
LVBKIMAGE
memset(&lvbk,0,sizeof(lvbk));
lvbk.ulFlags=LVBKIF_SOURCE_HBITMAP | LVBKIF_STYLE_NORMAL;
lvbk.hbm=//ハンドル
ListView_SetBkImage(ウィンドウハンドル、&lvbk);
このようにしてるんですが、SetBkImageでFALSEが返ってきてしまいます。
考えられる原因を教えて下さい。
ビットマップハンドルは別クラスで取得したものを代入していますが、
ちゃんとハンドルは取得できていることを確認しています。
0780デフォルトの名無しさん
2010/12/14(火) 06:39:06原因はお前が英語版のAPIリファレンスを読むことができない低脳だから。
0781デフォルトの名無しさん
2010/12/14(火) 09:30:230782デフォルトの名無しさん
2010/12/14(火) 10:15:29英語が読めたらここに来るわけありません。
最低な人しかいないんですね。もういいです。
0783デフォルトの名無しさん
2010/12/14(火) 10:17:120784デフォルトの名無しさん
2010/12/14(火) 10:19:300785デフォルトの名無しさん
2010/12/14(火) 10:24:02クズがクズに教えても何も解決しない
もはや存在意義なし
0786デフォルトの名無しさん
2010/12/14(火) 10:32:27結局のところ怠け者の言い訳なんだよね。
0787デフォルトの名無しさん
2010/12/14(火) 10:39:10プログラムの初期化時にCoInitializeかOleInitializeしてるか?
0788デフォルトの名無しさん
2010/12/14(火) 10:39:28それは英語読める方に分類してやってるんだが。それすら出来ないカスは今すぐPGやめろ。
0789デフォルトの名無しさん
2010/12/14(火) 10:41:150790デフォルトの名無しさん
2010/12/14(火) 10:46:20必要な技能 翻訳サイトにコピペしてボタンを押す
0791デフォルトの名無しさん
2010/12/14(火) 10:47:53初歩は頭の良し悪し以前に気合で何とかなる
0792デフォルトの名無しさん
2010/12/14(火) 11:28:470793デフォルトの名無しさん
2010/12/14(火) 11:48:430794デフォルトの名無しさん
2010/12/14(火) 11:50:31海外でも評判よくないw
0795デフォルトの名無しさん
2010/12/14(火) 12:22:49MSDNは名前だけでMSは無関係
0796デフォルトの名無しさん
2010/12/14(火) 12:41:04え?
0797デフォルトの名無しさん
2010/12/14(火) 12:41:460798デフォルトの名無しさん
2010/12/14(火) 12:58:020799デフォルトの名無しさん
2010/12/14(火) 13:13:550800デフォルトの名無しさん
2010/12/14(火) 13:46:200801デフォルトの名無しさん
2010/12/14(火) 13:56:560802デフォルトの名無しさん
2010/12/14(火) 14:00:560803デフォルトの名無しさん
2010/12/14(火) 14:14:260804デフォルトの名無しさん
2010/12/14(火) 14:19:34ConvertStringSecurityDescriptorToSecurityDescriptor
0805デフォルトの名無しさん
2010/12/14(火) 15:51:42MSDNの解説見ると、キューのバッファの処理が違うようなんですけど、
具体的に何が変わって来るのかわかりません。
0806デフォルトの名無しさん
2010/12/14(火) 15:58:440807デフォルトの名無しさん
2010/12/14(火) 16:09:04戻らないと何か不都合があるのか?とか、どう使い分けるのか?とか・・・
具体例を教えて欲しいなあと。
MSDNってほんと解らない。
0808デフォルトの名無しさん
2010/12/14(火) 16:12:06まだ使ってるのに
0809デフォルトの名無しさん
2010/12/14(火) 16:24:07バッファは必ずフリーにしないといけないって決まりなの?
だったらReset使っておけば問題無いのかな?
これってロングメッセージ限定の話だよね?・・・ってそこまで知らないか。
0810デフォルトの名無しさん
2010/12/14(火) 16:34:01バッファに残った未処理のデータをコールバックで通常処理するならReset
ただちに完了マークをつけるならStop
これのどこが理解できない
0811デフォルトの名無しさん
2010/12/14(火) 16:43:180812デフォルトの名無しさん
2010/12/14(火) 16:45:22いやいや、メモリを malloc で確保したら free で解放しなきゃいけないから
malloc でバッファを確保 → midiInAddBufferに渡す → midiInがバッファにデータを書き込む → バッファが戻ってくる → free でバッファを解放
という流れのプログラムを組むことになるだろ
もちろん malloc/free じゃなくて GlobalAlloc/GlobalFree でもなんでもいいが
もちろんグローバル変数を使うのなら解放する必要はない
ロングメッセージ限定の話
ショートメッセージはバッファ使わない
0813デフォルトの名無しさん
2010/12/14(火) 16:58:360814デフォルトの名無しさん
2010/12/14(火) 16:58:500815デフォルトの名無しさん
2010/12/14(火) 17:06:570816デフォルトの名無しさん
2010/12/14(火) 17:21:40なるほど!バッファのルールがまだよく分かってないんだけど、
なんとなく流れが分かった。
MSDNもこういう具体的な解説付けてくれたらいいのにな。
ありがとうございました。
0817デフォルトの名無しさん
2010/12/14(火) 18:08:070818デフォルトの名無しさん
2010/12/15(水) 00:04:35「システム排他メッセージ」ってやめて欲しいな
「システムエクスクルーシブメッセージ」と呼ぶって、MIDIの規格書に書いてあるだろ
MIDI知らないやつが翻訳するからこうなる
0819デフォルトの名無しさん
2010/12/15(水) 00:17:56midiInStop -> midiInPause
midiInReset -> midiInStop
0820デフォルトの名無しさん
2010/12/15(水) 00:19:23ちょっと調べたい時にスパッと出てくるので便利。
ネットワーク経由のMSDNにはあまり価値がない、
ネットで検索するぐらいならMSDNなんて見ない。
0821デフォルトの名無しさん
2010/12/15(水) 00:21:500822デフォルトの名無しさん
2010/12/15(水) 03:07:540823デフォルトの名無しさん
2010/12/15(水) 03:17:060824デフォルトの名無しさん
2010/12/15(水) 03:39:58そんな貧乏くさいもん使うな
0825デフォルトの名無しさん
2010/12/15(水) 03:44:090826デフォルトの名無しさん
2010/12/15(水) 04:39:220827デフォルトの名無しさん
2010/12/15(水) 05:21:530828デフォルトの名無しさん
2010/12/15(水) 07:37:310829デフォルトの名無しさん
2010/12/15(水) 09:12:130830デフォルトの名無しさん
2010/12/15(水) 09:22:44キミが見ているのは偽物のMSDN。本物はsystem-exclusive messagesと書いてある。
0831デフォルトの名無しさん
2010/12/15(水) 09:36:120832デフォルトの名無しさん
2010/12/15(水) 09:39:150833デフォルトの名無しさん
2010/12/15(水) 15:13:00状態取得のみ可能なAPIってありませんでしたっけ?
0834デフォルトの名無しさん
2010/12/15(水) 16:55:13Raw Inputのこと?
0835デフォルトの名無しさん
2010/12/15(水) 17:17:20(。人。)
0836デフォルトの名無しさん
2010/12/15(水) 20:35:54CRT時代だったら需要のないAPIだと思うけど…
0837デフォルトの名無しさん
2010/12/15(水) 20:39:370838デフォルトの名無しさん
2010/12/15(水) 21:16:470839デフォルトの名無しさん
2010/12/15(水) 21:32:21そういう情報がそもそもないから存在しない
0840デフォルトの名無しさん
2010/12/15(水) 21:35:51俺もだいぶ前から探してるんだけど、どうにも見つからない。
Vista以降のMonitor Configuration APIでモニタの種類を取得とかはできるんだが。
ドライバレベルでは取得できてるようなので、その情報にアクセスできる共通のAPIが
あればいいんだが。
0841デフォルトの名無しさん
2010/12/15(水) 21:50:59VIDEOPARAMETERS Structure
DISPLAY_DEVICE Structure
EnumDisplayDevices Function
0842デフォルトの名無しさん
2010/12/15(水) 21:53:06>プログラムがディスプレイの実際の物理サイズを必要とする場合にはどうしたらよいのだろうか?
>おそらく、最良の方法は、ダイアログボックスを使ってユーザに直接入力してもらうことだろう。
0843デフォルトの名無しさん
2010/12/15(水) 21:53:32ずるいよ^^
0844デフォルトの名無しさん
2010/12/15(水) 21:58:390845デフォルトの名無しさん
2010/12/15(水) 22:01:450846デフォルトの名無しさん
2010/12/15(水) 23:05:17どうして
0847デフォルトの名無しさん
2010/12/15(水) 23:11:27自分がペゾルド本をせっせと調べているうちに正解が書きこまれたので^^;
0848デフォルトの名無しさん
2010/12/16(木) 00:04:41ネイティブ解像度のこと?物理的なサイズ?それとも私?
0849デフォルトの名無しさん
2010/12/16(木) 00:23:070850デフォルトの名無しさん
2010/12/16(木) 00:23:32定規持ってインチ数を測ってピクセル数を割る
0851デフォルトの名無しさん
2010/12/16(木) 00:25:03WM_SIZE とか WM_WINDOWPOSCHANGED とかのメッセージを捕まえて
MoveWindow とか SetWindowPos で適宜変えてください
0852デフォルトの名無しさん
2010/12/16(木) 01:19:46それと同じ表示をするコントロールは、何かありますか?
SHBrowseForFolder()を使うと、フォルダーを選択するダイアログを表示できる
ところまでは分かったのですが。それと同じ表示をするものをウィンドウクライアント上に
コントロールとして貼りたいです。
0853デフォルトの名無しさん
2010/12/16(木) 01:22:120854デフォルトの名無しさん
2010/12/16(木) 01:28:460855デフォルトの名無しさん
2010/12/16(木) 01:37:31やはりTreeViewコントロールを利用して、自作するしかない感じですね><;
情報ありがとうございました
0856デフォルトの名無しさん
2010/12/16(木) 02:18:16自分で作る場合はShellAPI関係経由で実装はできると思うけど。
0857デフォルトの名無しさん
2010/12/16(木) 07:53:480858デフォルトの名無しさん
2010/12/16(木) 09:04:030859デフォルトの名無しさん
2010/12/16(木) 12:51:550860デフォルトの名無しさん
2010/12/17(金) 06:38:55だから、APIとATLとCOMについてはかなり詳しく知っている。
0861デフォルトの名無しさん
2010/12/17(金) 07:22:26言うのはこのスレだけにしとけよ。
0862デフォルトの名無しさん
2010/12/17(金) 07:49:09そのわりには、このスレの回答レベルかなり低いけど
0863デフォルトの名無しさん
2010/12/17(金) 07:49:09どうせ匿名だし誰か判らないんだから意味無いよね
0864デフォルトの名無しさん
2010/12/17(金) 10:07:42msdn libraryを見ればわかる質問とスレ違いの質問しか無いから
0865デフォルトの名無しさん
2010/12/17(金) 16:14:350866デフォルトの名無しさん
2010/12/17(金) 17:43:58ナビゲーションバー出る?
0867デフォルトの名無しさん
2010/12/18(土) 00:18:12C++でPlatform SDKとVisualStudio(VS)・そのリソースエディタを使って組んでいるのですが、
Windows7のそれのような見た目を持つコントロール(緑色のプログレスバーなど)を
利用するにはどうすればいいのかヒントを教えていただけないでしょうか。
これまでのアプリをWin7上で実行するとコントロールの見た目が勝手に置き換わる、
と思ったらそうではなかったので
(ウィンドウのタイトルバーの見た目は勝手に置き換わって半透明になってます)。
Win7にインストールしたVSのリソースエディタ上ではWin7の見た目になっているので、
できないことはないと思うのですが。
0868デフォルトの名無しさん
2010/12/18(土) 00:24:280869デフォルトの名無しさん
2010/12/18(土) 00:37:530871デフォルトの名無しさん
2010/12/18(土) 01:04:43>>870
後出しは世界中のどこでも嫌われる
そう思うなら2010でやってみる
0872デフォルトの名無しさん
2010/12/18(土) 01:07:000873デフォルトの名無しさん
2010/12/18(土) 01:10:15いぐらぐらいするんですか?
0874デフォルトの名無しさん
2010/12/18(土) 01:11:040875デフォルトの名無しさん
2010/12/18(土) 01:15:470876デフォルトの名無しさん
2010/12/18(土) 01:20:450877デフォルトの名無しさん
2010/12/18(土) 01:24:29http://www.microsoft.com/japan/visualstudio/
訪問記念で訪れた僕でさえ2010使ってるんですから
0878867
2010/12/18(土) 01:26:50そうですよね、すみません。さらに言うと2008のSP1でした。
2010はexpressだとリソースエディタが使えないのでインストールしてないのですが、
今度インストールして試してみます。
>>872
おおおこんなものが出てたんですね、存在すら知りませんでした、ありがとうございます!
ざっと見たところ、.NET系のプログラミングに使えるものであって、
DialogBox()でダイアログリソースを渡して…という(PlatformSDK的?な)やり方では
利用できないような印象を受けましたが、もうちょっと詳しく調べてみます。
>>875
さらにヒントをありがとうございます。
ちなみに873は俺じゃないです。
みなさんありがとうございました。
0879デフォルトの名無しさん
2010/12/18(土) 01:28:43わざわざそれより古いPlatform SDK使ってるのかよ
0880867
2010/12/18(土) 01:29:260881867
2010/12/18(土) 01:36:35俺がやってるのは新規プロジェクトからWin32アプリケーション(コンソールじゃないほう)を
選んでOKで進めてCreateWindow()やらDialogBox()で書いていくような、
”猫でもわかるプログラミング”のSDK編にリソースエディタを足したようなやりかたです。
てっきりこのやりかた=Platform SDKを利用したやりかただと思ってました。
(というのもVisualStudio2005のexpressを使っていた頃は、VS2005に加えてPlatform SDKを
インストールしないとビルド出来なかったからです。)
0882デフォルトの名無しさん
2010/12/18(土) 01:42:27なんでこんな基本的な事をちゃんと答えてやれないんだ?
0883867
2010/12/18(土) 02:18:32情報ありがとうございます!
manifestってコントロールの外観を変えるのに使えるんですね!
単語は目にしていましたが特に触らなくてもこれまで困らなかったので何に使えるのかも知りませんでした。
ふむ…(一周前になりますが)2000ルックのコントロールをmanifestでXPルックのlunaにできると…。
Windows SDK for Windows7とmanifest、この2つについて調べようと思います。
みなさんレスありがとうございました。
0884デフォルトの名無しさん
2010/12/18(土) 02:47:03みんな親切しても報われなかったんだろう
誰もがひねくれてしまった
0885デフォルトの名無しさん
2010/12/18(土) 05:58:38そうだろ。
だからこのスレの回答者のレベルは低いと言ってるんだよ。
0886デフォルトの名無しさん
2010/12/18(土) 08:41:210887デフォルトの名無しさん
2010/12/18(土) 12:27:23Platform SDKは大昔にWindows SDKに名前が変わった。
0888デフォルトの名無しさん
2010/12/18(土) 18:44:140889デフォルトの名無しさん
2010/12/18(土) 21:01:130890デフォルトの名無しさん
2010/12/19(日) 03:57:39かといってNULLが返るわけでもなく、イメージ数0の変なハンドルが返ってきます。ImageList_Destroyもできません。
ググってもバグ情報とか出てこなくてお手上げ状態です。もし何かご存知の方があれば教えてください。
ちなみにIEのバージョンは8です。
0891デフォルトの名無しさん
2010/12/19(日) 04:21:57だが中身まで複製するとは言ってない
0892デフォルトの名無しさん
2010/12/19(日) 08:05:32>全て列挙
それは一言で「枚挙」という。
0893890
2010/12/19(日) 13:17:26ありがとうございます。
>だが中身まで複製するとは言ってない
そうなんですか!?
MSDN↓を読んでてっきり全部コピーしてくれるのかと・・・
>All information contained in the original image list for normal images is copied to the new image list. Overlay images are not copied.
ImageList_Duplicateはどのように使うのが正しいのでしょうか。
0894デフォルトの名無しさん
2010/12/19(日) 18:01:01WIN32APIで何かしらのUSBが接続されたことを確認するなどができる関数は
ないのでしょうか?
0895デフォルトの名無しさん
2010/12/19(日) 18:11:160896デフォルトの名無しさん
2010/12/19(日) 18:12:050897デフォルトの名無しさん
2010/12/19(日) 18:12:110898デフォルトの名無しさん
2010/12/19(日) 18:12:59助かりました。
ちょっとググってきます。
0899デフォルトの名無しさん
2010/12/19(日) 20:43:300900デフォルトの名無しさん
2010/12/20(月) 00:20:150901デフォルトの名無しさん
2010/12/20(月) 07:21:580902デフォルトの名無しさん
2010/12/20(月) 10:20:310903デフォルトの名無しさん
2010/12/20(月) 14:49:410904デフォルトの名無しさん
2010/12/21(火) 09:48:590905デフォルトの名無しさん
2010/12/22(水) 09:02:100906デフォルトの名無しさん
2010/12/22(水) 14:01:28あれってスレッド側で閉じてもいいの?
0907デフォルトの名無しさん
2010/12/22(水) 14:10:160908デフォルトの名無しさん
2010/12/22(水) 14:10:43ダメか・・忙しいところありがとう
0909デフォルトの名無しさん
2010/12/22(水) 14:12:41http://msdn.microsoft.com/ja-jp/library/cc429605.aspx
キーワードを入れて検索ボタンを押すだけの作業が思いつかないやろうともしない人間はプログラムはやめた方がいい。
向いていない。
0910デフォルトの名無しさん
2010/12/22(水) 14:33:06>MAPI:詳細については、「」を参照してください。
ひでぇな
0911デフォルトの名無しさん
2010/12/22(水) 14:59:28MSDNのCloseHandleの項目だと回答になっていないんじゃないか
0912デフォルトの名無しさん
2010/12/22(水) 15:05:35明らかに何かが欠落してるとわかるだけマシなとこだろそこは。
>>911
> スレッドオブジェクトを削除するには、最初にスレッドを終了し、
> 次にそのスレッドのすべてのハンドルを閉じなければなりません。
の部分を示したかったんじゃね?
翻訳があってるかどうか微妙だけども。
> To remove a thread object, you must terminate the thread,
> then close all handles to the thread.
0913デフォルトの名無しさん
2010/12/22(水) 17:09:550914デフォルトの名無しさん
2010/12/22(水) 17:53:10単純に考えて、日本企業の業績が芳しくないのと、正規雇用者が減っているのと給与が上がらないのが主な原因
そしてもう一つ、安定した消費を支えている公務員の存在
○○が売れないとは、公務員や正規雇用者を対象にしたビジネスが前提であり、非正規の存在が無視されている為に起こる
つまり公務員を増やし、正規雇用者を増やし、給与をあげた上で、日本企業の製品やサービスを使い、企業も同じ姿勢を貫く
こうやって巡回させていけば全てが上向く
まずは国民全員を公務員にする為に、日銀法を改正して、日本政府の管理下に置く
円を刷り、生活保護を廃止して、ベーシックインカムを行う
これが第一歩
次に3年間限定で緊急の結婚手当て、妊娠手当て、出産手当て、子供手当てを始めて、20年後を見据えたベビーブームを起こす
同期間に相続税、贈与税の税率を下げて、老人の資産が子孫に回る体制を作る
そして、将来の国家像を構築する為に、旧インフラに縛られている首都圏を改装する
その為に一時的に名古屋へ遷都をして、愛知県を中京都にする
その間、首都圏で22世紀を睨んだ宇宙未来型の都市モデルを創造し、大規模の公共工事を行い、受注は日本企業が行う
航空宇宙未来技術、環境エネルギー、ソフトウェア、観光、農業、林業、水産業、医学工学、軍需産業ありとあらゆる分野の若い研究者に投資を行う
世界日本化計画と称し、日本だけではなく、途上国を中心に日本語を普及させ、ありとあらゆるインフラを日本企業が担う為に
国家に忠誠を尽くす準日本人を育成する
これを30年化計画で進めていく
30年経ったら再び東京に遷都する
0915デフォルトの名無しさん
2010/12/22(水) 18:02:21単
そ
0916デフォルトの名無しさん
2010/12/22(水) 18:02:500917デフォルトの名無しさん
2010/12/22(水) 18:32:100918デフォルトの名無しさん
2010/12/22(水) 18:57:34MSDNの日本語サイトは見てはいけない
0919デフォルトの名無しさん
2010/12/22(水) 19:22:290920デフォルトの名無しさん
2010/12/22(水) 19:38:39そのころは日本は実質的に中国の日本自治区レベルだろな
いまでも中国がくしゃみをすると日本は重篤肺炎になる状況だからな
低脳な民の国は依存する大国の言いなりになるだけ
尖閣の件で分ったろ
アメリカの子分から中国の子分になると低脳民なりに決断したんだ
>>918
美国語が分らないんです><
0921デフォルトの名無しさん
2010/12/22(水) 19:42:130922デフォルトの名無しさん
2010/12/22(水) 19:59:250923デフォルトの名無しさん
2010/12/22(水) 20:23:52ttp://userdisk.webry.biglobe.ne.jp/006/690/82/N000/000/000/sob-main.jpg
0924デフォルトの名無しさん
2010/12/22(水) 20:40:430925デフォルトの名無しさん
2010/12/22(水) 21:07:530926デフォルトの名無しさん
2010/12/22(水) 21:16:470927デフォルトの名無しさん
2010/12/22(水) 21:28:37中身同じ処理だったとして
0928デフォルトの名無しさん
2010/12/22(水) 21:30:250929デフォルトの名無しさん
2010/12/22(水) 21:52:16日本語でOK
0930デフォルトの名無しさん
2010/12/22(水) 22:14:51CopyRectの拡張に30年もかかるのか・・・
0931デフォルトの名無しさん
2010/12/22(水) 23:32:140932デフォルトの名無しさん
2010/12/22(水) 23:37:200933デフォルトの名無しさん
2010/12/23(木) 00:09:200934デフォルトの名無しさん
2010/12/23(木) 00:17:470935デフォルトの名無しさん
2010/12/23(木) 00:23:29すみません、ミューテックスについて教えてください。
複数スレッドの処理で、下記のようなミューテックスの処理を行ってました。
コンストラクタ
mutex = CreateMutex(NULL, FALSE, NULL);
ReleaseMutex(mutex);
スレッド内処理
ReleaseMutex(mutex);
WaitForSingleObject(mutex, INFINITE);
ReleaseMutex(mutex);
WaitForSingleObject(mutex, INFINITE);
スレッド内処理で最初に無駄なReleaseMutex()をしており、さらに最後にReleaseMutex()をしてなかった為
スレッド間でデッドロックが起こるかと思いきや、問題ありませんでした。
これは再起カウンタが以下の様な動きしているからですか?
ReleaseMutex(mutex); →-1
WaitForSingleObject(mutex, INFINITE);→0
ReleaseMutex(mutex); →-1
WaitForSingleObject(mutex, INFINITE);→0
0936デフォルトの名無しさん
2010/12/23(木) 00:28:16それ以降の呼び出しは全部エラー。
だからC++スレで「エラーチェックしてるか?」って聞かれたんだろ。
0937935
2010/12/23(木) 00:35:51そうだったのか!!!
すいません、解放失敗以降全てエラーになる事は知りませんでした。
戻り値をチェックしてみます。
ありがとうございましたm(_ _)m
0938デフォルトの名無しさん
2010/12/23(木) 00:45:560939デフォルトの名無しさん
2010/12/23(木) 00:52:060940935
2010/12/23(木) 01:03:51すいません、まだ認識が間違ってますか。。。
ReleaseMutex→所有権の解放
WaitForSingleObject→所有権の取得(複数取得可)
>>936さんは所有権の解放に失敗したら、以降の取得は不可能(エラー)となるものである。
と仰ってると認識したのですが、違いますか?
0941デフォルトの名無しさん
2010/12/23(木) 01:49:05所有権の開放ではなくmutexオブジェクト(ハンドル)の開放。
コンストラクタでReleaseMutex(mutex);しているから、そのmutexオブジェクトはすでに無効になっている。
以降の[スレッド内処理]では、すべて無効なハンドルに対して関数を呼び出していることになる。
無効なハンドルに対するWaitForSingleObject、およびReleaseMutex(mutex);呼び出しは失敗する。
ReleaseMutex が正常に終了(戻り値がTRUEであるか、
WaitForSingleObjectが正常に終了(戻り値がWAIT_FAILED以外)であるか
ちゃんと確認してみろ。
0942デフォルトの名無しさん
2010/12/23(木) 01:52:54だからWaitしない限り何回Release繰り返しても無駄だよねって話
別に失敗したからってMutexが死ぬわけじゃない
あとなんでデッドロックしないのかよくわからん
0943デフォルトの名無しさん
2010/12/23(木) 01:57:35CloseHandleと混同してね?
0944デフォルトの名無しさん
2010/12/23(木) 02:12:230945デフォルトの名無しさん
2010/12/23(木) 02:21:490946デフォルトの名無しさん
2010/12/23(木) 02:24:090947デフォルトの名無しさん
2010/12/23(木) 02:47:01再起カウンタが0以下になるというのは考えづらいかな。
スレッド内処理というのが実際にはどうなっているのかは知らないが、
最初の ReleaseMutex は無視して、スレッド終了時に自動開放されていると考えれば、
ReleaseMutex(mutex); // 0 -> 0 (SIGNAL)
WaitForSingleObject(mutex, INFINITE); // 0 -> 1
ReleaseMutex(mutex); // 1 -> 0 (SIGNAL)
WaitForSingleObject(mutex, INFINITE); // 0 -> 1
スレッド終了 1 -> 0 (SIGNAL)
となって、Mutexだけなら辻褄は合いそうだが
0948935
2010/12/23(木) 12:29:11省略してしまいましたが、CreateMutexは初回スレッドのコンストラクタのみ行います。
そして最終スレッドのデストラクタでCloseHandleして破棄してます。
なので、1スレッド1ミューテックスではないです。
試しに最初の解放をコメントアウトしたら、2スレッド目が無限待機に陥ったので
スレッド間でのミューテックスは成功してそうです。
>>947
上で書いた様に、最初の解放をコメントアウトするとデッドロックするので
自動解放はしてないっぽいです。
今まで、解放に失敗してもその後の動作には関係がないと思っていたのですが
そうで無さそうなので。。。エラー時に以下の様になった場合は解放未完了になるのか?
という部分を懸念しています。
ReleaseMutex(mutex); // 0→-1
WaitForSingleObject(mutex, INFINITE); // -1→0
ReleaseMutex(mutex); // 0→-1
スレッド内処理終了(再起カウンタ0でないため非シグナル状態?)
0949デフォルトの名無しさん
2010/12/23(木) 12:43:01ミューテックスがシグナル状態になるまで待つ関数だぞ
0950947
2010/12/23(木) 13:11:49WaitForSingleObject() が WAIT_ABANDONED を返していたりしない?
0951デフォルトの名無しさん
2010/12/23(木) 13:19:57終了前に解放すりゃいい話だろ
0952デフォルトの名無しさん
2010/12/23(木) 13:39:120953デフォルトの名無しさん
2010/12/23(木) 14:22:02コンストラクタ
mutex = CreateMutex(NULL, FALSE, NULL);
ReleaseMutex(mutex); <=なんで取得してないのにイラネするの?
スレッド内処理
ReleaseMutex(mutex); <= WaitForSingleObjectの前にイラネするん?
WaitForSingleObject(mutex, INFINITE);
ReleaseMutex(mutex); //
0954デフォルトの名無しさん
2010/12/23(木) 15:18:31エラー値見ればいいだけの話だろ。
妄想しなくても、OSはちゃんと教えてくれるよ。
0955デフォルトの名無しさん
2010/12/23(木) 15:29:39unsigned _64int型の整数を
fprintf_s( ファイルポインタ,"%I64u ",変数 );
という形式で出力したところ、出力した形式とはまったく違う数字で出力されてしまいました。
テキストとバイナリ、同じ形式でやったのですが、結果は変わりませんでした。
変数が間違っていると思い、定数でやっても変わりませんでした。
_64int型ではなにか違う方法で出力しないといけないのでしょうか?
0956デフォルトの名無しさん
2010/12/23(木) 15:30:5164intではなく int64です
0957デフォルトの名無しさん
2010/12/23(木) 15:36:030958デフォルトの名無しさん
2010/12/23(木) 16:41:590959デフォルトの名無しさん
2010/12/23(木) 16:46:20さがってなさい
0960デフォルトの名無しさん
2010/12/23(木) 17:05:290961デフォルトの名無しさん
2010/12/23(木) 17:32:48もしかしてただのCライブラリじゃないか?
0962デフォルトの名無しさん
2010/12/23(木) 17:42:240963デフォルトの名無しさん
2010/12/23(木) 18:29:320964デフォルトの名無しさん
2010/12/23(木) 21:54:420965デフォルトの名無しさん
2010/12/23(木) 22:12:270966デフォルトの名無しさん
2010/12/24(金) 00:27:360967デフォルトの名無しさん
2010/12/24(金) 10:12:36範囲の指定をこんなふうにしてみたんだけど
FWPM_FILTER_CONDITION0 Condition;
FWP_RANGE0 Range;
Condition.matchType=FWP_MATCH_RANGE;
Condition.conditionValue.type=FWP_RANGE_TYPE;
Condition.conditionValue.rangeValue=&Range;
Range.valueLow.type=FWP_UINT32;
Range.valueLow.uint32=ntohl(AddressLow);
Range.valueHigh.type=FWP_UINT32;
Range.valueHigh.uint32=ntohl(AddressHigh);
FwpmFilterAdd0の呼び出しは成功するけど、実際にはフィルタリングされない
条件をFWP_MATCH_EQUALにしてFWP_V4_ADDR_MASKで指定すると問題なく動作する
アドレスの範囲を指定したい場合、Calloutを使うしかない?
0968デフォルトの名無しさん
2010/12/24(金) 13:08:11Condition.fieldKey=FWPM_CONDITION_IP_REMOTE_ADDRESS;
としています
FWPM_FILTER0のlayerKeyはFWPM_LAYER_INBOUND(OUTBOUND)_IPPACKET_V4や
FWPM_LAYER_INBOUND(OUTBOUND)_TRANSPORT_V4、FWPM_LAYER_ALE_AUTH_CONNECT_V4を
指定してみたが、どれもフィルタリングされない
あとFWPじゃなくてWFPね
0969デフォルトの名無しさん
2010/12/24(金) 23:04:260970デフォルトの名無しさん
2010/12/24(金) 23:15:310971デフォルトの名無しさん
2010/12/24(金) 23:57:190972デフォルトの名無しさん
2010/12/25(土) 00:16:410973デフォルトの名無しさん
2010/12/25(土) 00:25:01santakuro-su->open(purezento);
0974デフォルトの名無しさん
2010/12/25(土) 00:32:530975デフォルトの名無しさん
2010/12/25(土) 00:45:460976デフォルトの名無しさん
2010/12/25(土) 00:46:49永遠の愛は絵空事でしかなく、ただ虚しさだけ残るか
0977デフォルトの名無しさん
2010/12/25(土) 03:32:050978デフォルトの名無しさん
2010/12/25(土) 03:42:260979デフォルトの名無しさん
2010/12/25(土) 03:46:450980デフォルトの名無しさん
2010/12/25(土) 04:32:190981デフォルトの名無しさん
2010/12/25(土) 04:56:58{
return INVALID_HANDLE_VALUE ;
}
0982デフォルトの名無しさん
2010/12/25(土) 06:29:370983デフォルトの名無しさん
2010/12/25(土) 09:41:28レア獣は残しとかなあかん
0984デフォルトの名無しさん
2010/12/25(土) 11:39:190985デフォルトの名無しさん
2010/12/25(土) 16:27:070986デフォルトの名無しさん
2010/12/25(土) 16:34:42新しいアプリケーションではGetBoyFriend関数を使ってください。
0987デフォルトの名無しさん
2010/12/25(土) 17:05:180988デフォルトの名無しさん
2010/12/25(土) 21:15:58{
Sex();
GetXmasPresent();
}
0989デフォルトの名無しさん
2010/12/25(土) 23:13:07http://msdn.microsoft.com/ja-jp/library/cc428323.aspx
0990デフォルトの名無しさん
2010/12/25(土) 23:15:400991デフォルトの名無しさん
2010/12/25(土) 23:17:180992デフォルトの名無しさん
2010/12/25(土) 23:23:160993デフォルトの名無しさん
2010/12/25(土) 23:25:370994デフォルトの名無しさん
2010/12/26(日) 00:18:240995デフォルトの名無しさん
2010/12/26(日) 01:20:190996デフォルトの名無しさん
2010/12/26(日) 01:49:060997デフォルトの名無しさん
2010/12/26(日) 04:41:490998デフォルトの名無しさん
2010/12/26(日) 05:33:37そういるルールだからです。
「ぬーやる」バーガーはしってますか?
0999デフォルトの名無しさん
2010/12/26(日) 07:11:401000デフォルトの名無しさん
2010/12/26(日) 07:12:2110011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。