以下くだらない話
−−−終了しました−−−
−−−修復しました−−−
−−−絶望しました−−−
糞スレ
WMP12(動画再生中)がSnippingShotでとれてGetDC(hWnd)でとれないのはなぜ?
まあ、GetDC(GetDesktopWindow())でスクリーン全体とって切り出しすればとりあえずはOKそうだな。前スレ
>>939 を参考にする限り。
ありがとうございました。
Brain>erase "new" OR "sizeof(DWORD)" 記憶を消去しました. Brain>_
Templete -> Tempura -> Temple
( ゚д゚ ) ¶ノ ¶ノ | / ̄ ̄ ̄ ̄ ̄\ ./ (,) (,) ヽ | | ̄| | ヽ  ̄ ̄ / | | | | | .ノ .ノ ヽ ノ .ノ .| (_ノ (_ノ .| / /  ̄/ / < < .< < ヽ ヽ ヽ ヽ
Templeteとか英語出来ない日本人の典型例だな
パッションテンプリート
ただの落書き箱だよなここ
釣れたww
18 :
デフォルトの名無しさん :2010/11/08(月) 02:41:18
過疎ってるな
隔離スレだからageんな
20 :
デフォルトの名無しさん :2010/11/08(月) 03:01:29
サービスプログラムを作成しています。 サービス側から、PC内のユーザーアカウント名を列挙したいのですが、 どのようにすればよいでしょうか?
getuser
23 :
デフォルトの名無しさん :2010/11/08(月) 17:39:12
定期あげ
24 :
21 :2010/11/08(月) 17:54:54
>>22 登録されているアカウントを全て列挙したいです。
で?
.NETじゃないと無理
やっぱ時代は.NETだね
.NETでできました!ありがとうございます!!
.NET最高!
それと便座カバー
ちがう物体ちがう物体ちがう物体
33 :
24 :2010/11/08(月) 21:03:34
>>32 ありがとうございます。
これをキーワードに調べていきたいと思います。
.net厨しねや
.NET便利だね。これからは.NETで開発しよう。
.NETやCodepackだけでどうしても実現できないならP/Invoke経由でAPI使えばいいしな
ドトネトがやられたようだな... ククク...奴は四天王の中でも最弱
画面描画のため、垂直ブランキングを待つためのAPIって Win32では何か用意されていますか?
GetGlyphOutlineで"1"や"あ"の情報をうまく取得できません。乱れてしまいます
むしろ.NET
.Netアプリはユーザーに嫌われる
受注開発物なら、お客さんの了解さえ得ればいいから問題ないんだけどね。 起動やUIがちょっとばかり速くなるより納期が短くなる方がいいし。 フリーソフトの作者なんかが、ユーザの評判を気にして.NETを使えないでいるのは 実に残念だ。
フリーでなくともより多くの人が使うプログラムは僅かな速度にも気を配る価値はあるよね ドカタなら.netがお似合いだけど
ドカタなら.netがお似合い(キリッ
起動やUIが遅いとかどんだけ低スペック使ってるんだよ
今時.NET製という理由だけで毛嫌いするユーザーなんて絶滅危惧種でしょう レジストリ潔癖症の基地外か98/2000を未だ常用してる貧乏人とかその辺
.NETはWindows Updateで失敗を繰り返す持病があるからなあ クライアントが大量にあると、そのメンテだけでがっつり時間を取られるのが地味に痛い
.NETはスキルのない開発者が楽を出来るだけで、利用者にはデメリットしかないから嫌われる。
的確な指摘
56 :
デフォルトの名無しさん :2010/11/09(火) 11:51:33
Windows3.1で動いてるC++Winアプリ(APIを使用)って WindowsXPで動きますか?? ドライバ関係は無くて単なる計算して結果を表示するアプリです。
とりあえずやってみたらいいんじゃね? 32bitのWindowsは16bit版プログラムでも一応動かせるようになってるはず
58 :
デフォルトの名無しさん :2010/11/09(火) 13:00:37
定期あげ
Win32sならほぼ動く スレ違いのWin16でもProfessional x64 Edition以外ならそれなりに動く
intが16bit前提のプログラムがされてたらどっかで死ぬんじゃね?
DOSコマンドのnet useで列挙されるネットワーク接続一覧を取得する APIコマンドってあるのでしょうか? 特定のネットワーク接続だけ、アプリ起動時にWNetCancelConnectionで クローズしてから起動をするようなプログラムを作成しようと思っています。 色々調べましたがどうしてもわかりませんでしたので、どなたか ご教授頂ければ幸いです。
>>60 16bitアプリはCPUに関係なく16ビットレジスタ範囲で動くんだが、
いったい何が死ぬと言うんだ?
おまえの頭か?
>>61 コンソールアプリとDOSコマンドを混同するな。
それからWNetCancelConnectionを知っているのに、同系列の列挙のAPIが調べられないのは明らかにおかしい。
>コンソールアプリとDOSコマンドを混同するな。 DOSコマンドのnet useで列挙されるネットワーク接続一覧を取得する ( よ う な ) APIコマンドってあるのでしょうか? >それからWNetCancelConnectionを知っているのに、同系列の列挙のAPIが調べられないのは明らかにおかしい。 色々調べましたがどうしてもわかりませんでしたので、どなたか ご教授頂ければ幸いです。 文盲の上、ホルホルしたいだけの奴は消えろよ。 お前みたいな奴がこのスレを隔離スレ化してんだよ。
netはDOSコマンドではないと指摘されているのを理解できないのか
ヒーハー
やらぁ、ねっとねっとするぅ
バグを仕様にすりかえるのが得意な人たちばっかりですので
わかったわかった じゃあDOSコマンドのnetじゃなくてガンダムで教えてくれ
>>61 WNetAddConnection2
WNetCancelConnection2
WNetAddConnection3
WNetCancelConnection3
WNetGetConnection
つーかnetコマンドで希望の機能があるのわかってるんだから インポートテーブル見ればいいだけの話だ
>>61 です。
皆様、よくわからない質問の中ご回答いただきありがとうございます。
私自身で調べた限りでは、確かにWNetGetConnectionで情報が取れそうだと
思ったのですが、ローカル名がない接続情報の取得方法がわからなかったため、
頓挫していました。
やりたいことは、WNetAddConnection2でERROR_SESSION_CREDENTIAL_CONFLICTを
出さないようにするために、同じリモート名で既に接続されている全ての
ネットワーク接続を一度切断してから、接続処理を行いたいのです。
何かよい方法がありましたら、何でもいいので情報をいただけませんか?
>>63 @ITで「netコマンド」と気軽に記載していたので、Windows2000/XP以降に
新しく加わったDOSコマンドだと勘違いしてました。すみません。
>>71 これはこれで興味深い情報なのですが、今回の件とはちょっと違いました。
情報、ありがとうございました。
>>73 >>74 情報、ありがとうございました。
>>75 インポートテーブルというものがよくわかりませんでした。
勉強不足ですみません。
少しは調べろと書こうと思ったけど、googleの上位がAccessだのOracleだので 埋め尽くされてて確かにわかりにくいな 実行ファイル内にある使用してるAPIとDLLの一覧だと思えばいい dumpbinやDependency Walkerなどで調べられる 実際に使ってみればわかるが、NetUseEnumなんていう いかにもな名前のAPIを呼んでる
NetUseEnum一択タだと思うけどねぇ 試してないけど
>>77 >>78 ご回答ありがとうございました。NetApi32.dllのNetUseEnumを使って
希望通りの情報を取得することが出来ました。本当にありがとうございます。
Dependency Walkerはこうした使い方もあるんですね。あまり意識せずに
必要なモジュールがそろっているかのチェック程度にしか使っていませんでした。
重ね重ね、お礼申し上げます。
80 :
デフォルトの名無しさん :2010/11/09(火) 19:16:13
ほしゅ
81 :
デフォルトの名無しさん :2010/11/09(火) 20:43:28
.NET最高!
それはない
それはない
それはある
なぁ?やっぱり.NETは神の生産効率だろぅ?
神ってそんなにのろまだったのか
↓以下.NET信者の援護レス↓
此処にいる優秀な開発者たちに.Netで開発させて.Netの評判を上げたい気持ちはワカランでもない
.NET + E = NEET
>>76 >同じリモート名で既に接続されている全ての
>ネットワーク接続を一度切断してから
他人のセッションのリモート名は取得出来ないからあきらめろ
91 :
デフォルトの名無しさん :2010/11/10(水) 05:51:04
定期あげ
エッチなまうまう?
93 :
デフォルトの名無しさん :2010/11/10(水) 15:25:19
WinMainの戻り値はintですが、x64でコンパイルした時でも何故int固定なのでしょうか。 OSが64bitならば戻り値も__int64に変換されてもよさそうなのですが。。
なぜって、変えんの面倒いじゃん?
>>94 なるほど
>>95 ウィンドウメッセージのWPARAMなどは64bit化してるようですし、
チグハグな感じをうけました。
WPARAMとかはポインタが入ってたりするからな 64bitに対応させないと
ポインタ!なるほどスッキリしました。
ポインタ!
定期あげ
すみません DLLを作るにあたって 1) DllMain() を書く方法と 2) DllEntryPoint() を書いて DllMain() を省略する方法と 3) DllEntryPoint() と DllMain() のどっちも書かない方法 4) その他? とかがあるみたいですが どのやりかたが正しいんでしょうか?
DLLを作るだけならどれだって正しい VC++のランタイムライブラリが呼んでくれる名前はDllMainだというだけ
現在C#を使用しているのですがFindWindowについて教えてください。 ある監視ソフトを作っており、イベントが起きると別アプリを起動します。 その際にFindWindowにてハンドルを取得できればそのアプリにメッセージ(SendMessage)を 送ります。取得できなければ起動するという処理を行っております。 困っているのは、アプリ名が同じ場合(プログラム名は違います)にうまく取得できません。 また、それと逆にイベントが起きると閉じる処理PostMessageを行うようにしていますが、 同じく同じ名前だとうまく処理できません。何かいい方法があるのでしょうか?よろしくおねがいします。
クラス名でFindWindowしろ
クラス名も同じ・・なのですが@w@
じゃあ無理だ 諦めろ
○rz
その別アプリを起動するのが自分なら プロセスハンドルからウインドウハンドルを取得しろ
誰が閉じるか開けるか不確定なのでどうしようもないのですorz ユーザーに周知しても駄目だろうし・・・・あぁ困ったorz 今日はもう帰ります;w;明日起きたら良いアイディア思い・・・うかぶわけねーか;w;
実現不可能な仕様 モンスタークライアントの悪夢
Vista以降で管理者権限でexeを起動させたい場合、 CreateProcessで可能ですか?もちろんUACのウィンドは表示されても大丈夫です
明日からデファクトスタンダードになる.NETで開発しろよ
ShellExecuteにrunasでないと確認なしで失敗する
>>112 マニフェストに書いてあるなら大丈夫じゃね?
116 :
112 :2010/11/11(木) 00:13:04
>> 114, 115 ありがとうございます。 ケースバイケースで管理者権限が必要ない場合があるので、 マニフェストをつけることはできません。 ShellExecuteで実装してみます。
Win64スレが落ちたね
118 :
103 :2010/11/11(木) 09:06:58
昨日帰ってから、ふと思ったのですが唯一exe名だけが異なります。 CallBackでハンドルとexe名の関連付けとかできる仕様ってあるのでしょうか? よろしくおねがいします。 PS.自分で探したけど見つからなかった;w;
EnumWindows->(EnumChildWindows->)GetWindowThreadProcessId->OpenProcess->GetProcessImageFileName
121 :
デフォルトの名無しさん :2010/11/11(木) 11:06:16
定期あげ
122 :
◆ri5Y.eMu8c :2010/11/11(木) 16:21:21
お世話になります。 "LOCAL SERVICE"権限で動作しているデバイスドライバのプロセスから GUIなアプリを起動する方法について教えてください。 調べてみたところ、サービスはユーザーとは異なるデスクトップを持つため そのままCreateProcess等でアプリを起動しても、ウィンドウは表示されない …というところまでは理解しました。 OpenWindowStation()を利用するサンプルがあったので試してみましたが 「アクセス権がありません」というエラーが出てしまい、ダメでした。 この辺に詳しい方、お力を貸していただけると助かります。
エッチなまうまう?
126 :
デフォルトの名無しさん :2010/11/11(木) 22:35:03
定期あげ
127 :
デフォルトの名無しさん :2010/11/11(木) 23:57:04
何もドラッグして無くても、ドラッグのカーソルにする方法ってありますか?
SetCursor
129 :
デフォルトの名無しさん :2010/11/12(金) 01:57:41
メッセージボックスのメッセージ中にHTMLのリンクを埋め込むことは出来ますか?
やってやれないことは無いけどかなりメンドイよ 自分で作ったダイアログじゃダメなのか?
>>128 ドラッグカーソルの定数って何でしょうか?
133 :
デフォルトの名無しさん :2010/11/12(金) 20:32:42
定期あげ
常時さげ
135 :
デフォルトの名無しさん :2010/11/12(金) 21:49:36
さげ
136 :
デフォルトの名無しさん :2010/11/13(土) 01:52:11
いいからAPI出せや
つ CreateUmsThreadContext
お、おぅ・・・
作りたいプログラムがない・・・
課題スレってあるの?
Windows上からBIOSの設定にアクセスしてるやつどうやってるの?
DeviceIoControl
ドライバ作んなきゃいけないのかと思ってた。
MIDI関係に詳しい方いらっしゃったら教えてください。 MIDIの資料はもうかなり古いものが多いようですが、 「メッセージの送信には midiOutShortMsg() 関数を使います」という記述を見つけたのですが、 MSDNでぐぐっても出てきません。 かわりにmidiOutMessage()というのが出てきたのですが、 現在はmidiOutShortMsg()というのは淘汰され、midiOutMessage()に変わったのでしょうか?
yes
全言語で検索しろよ
149 :
145 :2010/11/13(土) 14:55:17
MSDNのトップページの一番上の検索窓を使いましたが、 検索範囲に絞込みがかけてあるのですか? MSDNで出てこなくても使えるということなのでしょうか? midiOutMessage()を使ったほうがベターでしょうか? C#から呼び出して使うつもりです。
どこが出てこないんだよ
ショートメッセージを送信するときは、midiOutShortMsgを使う midiOutMessageはデバイスドライバーにドライバー固有の メッセージを送るときに使う 俺midiOutMessageなんか使ったことないぞ C#からmidiOutShortMsg使うときは以下のおまじないが必要 [DllImport("winmm.dll")] public static extern int midiOutShortMsg(IntPtr hmo, uint dwMsg); がんがれ
152 :
145 :2010/11/13(土) 15:16:38
失礼しました!途中まで入力して候補の中にが出てこないし、 midiOutShortまで打ち込んで検索しても引っかからなかったのであきらめてました。。 MSDNの検索って完全一致でないと拾ってくれないんですね。 チラ見ですが、midiOutMessageとは少し違うみたいですね。
153 :
145 :2010/11/13(土) 15:26:52
154 :
デフォルトの名無しさん :2010/11/13(土) 17:00:24
ウィンドウプロシージャ内でプログラムを終了させなくちゃいけないような 致命的なエラーが起きた起きたとき、どうやって終了させる?
パソコンを窓から放り投げる
普通に終了させちゃ駄目なんですか
DebugBreakを呼ぶ
致命的なんだから死んだっていいよね
リストビューの縮小版サムネイルの大きさを、自分のみ変更することは可能でしょうか。 可能でしたら、その方法を教えていただければと思います。
ImageListのサイズ変更したら行けないかな
161 :
デフォルトの名無しさん :2010/11/13(土) 17:59:05
162 :
141 :2010/11/13(土) 18:14:14
>>142 ,143
ありがとうございます。できました。
PostQuitMessageではだめなの?
assert()だろ常考
FatalAppExit
166 :
デフォルトの名無しさん :2010/11/13(土) 18:45:58
定期あげ
Win7 64bitの delete が遅いのですが、早くする方法はありませんか? VC++ 2005 で100万件のオブジェクトをdeleteするのに1分近くかかってしまいます XP 32bitのときは、google performance toolsを入れて new と delete を高速化していたのですが、Win7 64bitには未対応でリンクできませんでした
普通じゃね? 32bit版の実行ファイルでやってみてもそうなるの?
お前には3行目が読めないの?
>>168 Visual 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やめようかと・・・(´・ω・`)
ビョーン。
>>167 の件、解決しました
Visual Studioから実行すると遅くなるようです
ビルドしたexeファイルを直接、実行した場合はdeleteがすぐに終わりました
コンストラクタとデストラクタの中身は分からないが 今時のCPUで100万件でそんなに時間がかかるとは思えない mallocならかかってもせいぜい数秒 ファイルを読み込んでるとかメモリをゼロクリアしてるとか 例外でも発生してるんじゃね?
なんだDebugビルドか
>>174 いや、Releaseビルドですよ。Win7というのが関係しているのかもしれません
おおかたエクセルコントロールから1件ずつ削除でもしてるんだろう
常識的に考えてコンストラクタが1u以下であれるべきる
わんわんお?
エッチなまうまう?
181 :
161 :2010/11/13(土) 21:39:41
ちょwwwww
FatalAppExit使い勝手いいわwwww
>>165 超GJ
こんなの常用すべきもんじゃないよ
183 :
161 :2010/11/13(土) 21:44:06
>>182 メモリ確保失敗とかで終了させるときに使おうと思ってたんだがダメなのか?
ほかの方法で終了できない場合にだけ、アプリケーションは FatalAppExit 関数を呼び出します。 FatalAppExit 関数は、常にアプリケーションが使用したメモリを解放したり、ファイルを閉じるとはかぎりません。 Windows の一般エラーの原因になることもあります。アプリケーションで予期しないエラーが発生した場合は、 このアプリケーションが使用するメモリをすべて解放し、メインメッセージループから戻って終了するようにします。
メモリー確保の失敗とか起こるような状況下で何ができるのかいまだに想像もつかないな・・・再現できないからデバッグもできないし でも2GB確保しようとして足りなくて失敗したとかなら正常終了に持ち込んだ方がいい
186 :
161 :2010/11/13(土) 22:15:31
>>184-185 じゃあハンドルとかメモリを全部開放した上でWM_CLOSEとかでおk?
特に問題なければDestoryWindowだな。1/0で落とす方法もあるけど、こっちも非常用だな。
*(char *)0 = 0;
>>185 俺も普通の new で起きる bad_alloc なんかは、チェックすらしてない。
巨大なファイルをメモリにマップするとか、VirtualAllocで数百MBのメモリを
確保するとかだったらチェックするけど。
190 :
デフォルトの名無しさん :2010/11/14(日) 02:27:20
>>184 日本語MSDNなんか引用すんな。低能。
Remarks
An application calls FatalAppExit only when it is not capable of
terminating any other way.
>>184 >FatalAppExit 関数は、常にアプリケーションが使用したメモリを解放したり、ファイルを閉じるとはかぎりません。
他のプロセスが参照カウンタを増やしているとか、そういうオチだね。
何の問題も無い。
どんなやり方であれ、プロセスが終了すればそのプロセスが使用していた資源は 全て解放される。これジャングルの掟。
>>192 >>184 はそれも怪しいって言ってるんじゃないかい
プロセスの正常な終了手続き取らないとか
195 :
161 :2010/11/14(日) 08:44:26
メモリ確保に失敗するような状況だからのんびりハンドル閉じたりしてないで さっさとプログラム終了させなきゃいけないのかと思ってたんだがそうでもないのか?
delete/->Dispose/->Release CloseHandle DestroyWindow PostQuitMessage ExitProcess このあたりが全部失敗するような状況のことじゃないか?
Dllファイルの読み込みで質問です。 今は普通にLoadLibraryで読み込んでるんですが、 ファイルからの読み込みしか対応してないようです。 これをメモリから読み込むようにできませんか? 今はこのようになってるんですが、 スクリーンセーバーなのでファイルをまとめたいんです。 urara.scr スクリーンセーバー imgloader.dll 画像ローダー voiloader.dll 音声ローダー Bitmapなどの素材はリソースにおけるんで、 urara.scrの中に格納できたんですが、 imgloader.dllなどは格納はできるんですが、 LoadLibraryはリソースに対応してないようです。
「ですが、」の多用で意味不明ですが、 LoadLibraryはリソースに対応してるようですが、 対応していないと思う理由を考えてみたのですが、 やはり意味不明ですね。
SHBrowseForFolderでMAX_PATHを超える長さの パスって取得できないのかな・・・
>>198 すいませんプログラマ夜逃げで焦ってました。
>>200 ありがとうございます参考になりました。
Visual Studio 2010 Expressで
ttp://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' : 呼び出しに対する引数が少なすぎます。
>>203 BCC使ってるけどコピペで問題なかった。
もっかい見直したら?
マジレスするとそのサイトの内容が古いからそれで勉強するのはやめとけ。 Unicodeビルドやめてマルチバイトにすればビルドは通るだろうが、 今時そういうことをするのはちょっと。
>>200 横からだけど出来ました
ありがとうございました
>>204 BCCでできました。報告ありがとうございます
>>205 やはりサイトではなく本を買ったほうがいいでしょうか?
>>203 エラー出ないように書き直すと勉強になるよ
つーか_tWinMain()にはなってないけど、TEXTマクロは使ってるんだな ビルド通らないって入力ミスかなんかじゃないのか
>>207 MessageBoxWって書いてあるのに気づかなかったとか死にてぇ・・・・・・
本は2004年5月の出版。7年ほど前の本だがどうするよ?
と思ったら > TEXT(lpcsWnd->lpszName) これはねーわ(;´Д`)
捨てる
TEXTマクロに変数いれてるやつなんて初めて見た 素直に渡せよ
TEXT()がいらない。 lpcsWnd->lpszNameにすればコンパイルは通ると思われる。 TranslateMessage()呼んでなかったりとかいろいろとアレなサンプルだな・・・
そういえば猫でもわかるWin(ryって第三版まで出てるみたいだけどけっこう良書?
判断は何に価値を置くかで異なる。 まずは自分の価値基準を提示しろ。
>>219 プログラムの本はあんま買わないからわからん
サイトなら入門のころお世話になった苦Cがけっこう良かった、と思う
管理人の性格が微妙なやつか
>>218 IDEに頼ってないところだけは評価してもいい
223 :
デフォルトの名無しさん :2010/11/14(日) 20:38:23
定期あげ
擬似ハンドルをDuplicateさせるのって 鏡をカメラで撮って写真にする感じだよー って一言説明あれば 分かりやすいのになー
ポインタとかハンドルをたとえ話で説明する入門書は例外なく糞。 ポインタを単にポインタとして理解できない初心者は門前払いすべし。
>>225 最近理解できたんだね。良かった良かった
世界はポインタを隠蔽化する方向に向かっている^ object;
Win32APIスレで何気取ったこと言ってるんだ?
別に隠す必要ないのにね ちゃんとコンピューター勉強したい人にとっては妨げになるだけ
>>228 Win32APIスレで何気取ったこと言ってるんだ?
231 :
デフォルトの名無しさん :2010/11/15(月) 04:37:09
定期あげ
どれだけ隠蔽しても人はヌルポから逃れられないのさ
はいはいぬるぽぬるぽ
234 :
デフォルトの名無しさん :2010/11/15(月) 19:24:16
定期あげ
赤鬼さんと朝まで豆まき
236 :
デフォルトの名無しさん :2010/11/16(火) 09:18:15
定期あげ
237 :
デフォルトの名無しさん :2010/11/16(火) 19:31:56
定期あげ
FormatMessageWでHRESULTの説明を取得しようとしたら ↓の読み込み専用のなんとかエラーが出るんだけどどうすればいい (裏) [一本道] 真中ゆり&大城楓 ペロリンピックpart1 エッチなスケートリンク (パイパン・レズ) [無修正] (704x396 Mpeg4v2 2820Kbps 29.97fps 128Kbps 48KHz J-Stereo 1h01m31s).avi
cygwinスレのパロディか、つまらん
242 :
238 :2010/11/16(火) 19:56:57
すいません。間違えて変な物をコピペしてしまいました…
>>238 は見なかったことにして下さい。
243 :
デフォルトの名無しさん :2010/11/16(火) 20:02:30
>>243 同じぐらいつまらん
昨日あたりに、関係ないスレにコピペされまくってたが
クリップボードは一つだからな
グローバルクリップボード
質問です。 既存のDIBからDDBを生成する方法ないでしょうか。 (DDBを生成した後もDIBとして使用可能なもの) DIBSectionは既存のDIBを使用できないし、CreateDIBitmapは DDBを生成した後は元のDIBとは別メモリが割り当てられてしまいます。
>DIBSectionは既存のDIBを使用できない
DIBSection一択だろ
>>248 たぶん1度DIB作ってから再度作るのが面倒くさいから
誰か僕ちゃんにおあつらえ向きの関数知りませんか〜ってことだと思うで
251 :
247 :2010/11/16(火) 23:40:44
unsigned intの配列を任意のタイミングでDIBにしてGDIで操作したいんです。 かつ、速度が必要なαブレンド等のピクセル操作はメモリアクセスで済ませたい。 この為、unsigned intの配列とDIBがシームレスに直結してる必要があります。 さらに、GDI操作が必要なくなったらHBITMAPは解放したいです。 (この際unsigned intの配列は解放されてはいけない) そしてまた必要なときにDIBを生成というサイクルを想定しています。
252 :
247 :2010/11/16(火) 23:44:21
すみません誤記です x DIB o DDB
unsigned intの配列の代わりに、 DIBセクションで確保されたメモリを使えば解決だな。 この状態で直接メモリアクセスできるから、 わざわざ解放する理由も無くなるし。
たしかCreateDIBSectionはファイルマッピングハンドルを指定できなかったか? 使ったことないが
255 :
247 :2010/11/16(火) 23:54:20
>>253 Win95で動かす場合、リソースに64k個制限があるため不要なDIBセクションの
生成は控えたいのです。
(ゲーム用途に使用する場合細かい画像を大量に取り扱う事があってリソースを圧迫してしまいます)
そのため、通常は配列で画像処理を行い、必要なときのみアダプタ的なイメージで
配列にかぶせGDIで描画を行いたいという背景があり、最初からDIBセクションを使用する事ができません。
それでこの質問をするに至りました。
256 :
247 :2010/11/16(火) 23:58:54
Windows95になんか対応するな。むしろ排除しろ。
今のPCの性能でWin9xの動作環境を用意できるという前提なら、 最終的に画面に出力する処理以外は、一切GDIは不要だな。 よって、リソースの個数制限に悩まされる事は全く無いな。 PentiumIII/Athlon以前の環境なら、多少検討する価値があるかもしれないが。
259 :
デフォルトの名無しさん :2010/11/17(水) 00:43:22
いいからAPI出せや
つ EnumDateFormatsExEx
何かをトレードオフしないと厳しそうだな。 メモリが足りなかったら処理速度でまかなうとか。 処理速度上げるために別に計算してテーブルにするとか。 描画時だけ妥協してCreateDIBitmapあたりでHBITMAPにしてそれ以外は配列で何とかすればいいと思うけど。 あと、処理速度が遅いときの基本の描画はダーティレクトだと思う。異論は認める。 あ、思い出した。SetDIBitsToDeviceっていう描画関数もあるよ。
SetPixel
DirectDrawを使えば良い。
SetPixel==Sex
265 :
261 :2010/11/17(水) 10:08:13
暇だからサンプル書いてみた。win7+vc10
ttp://www1.axfc.net/uploader/File/so/54256.zip DIBの8bitデータなのは別に何かの制約ではなく、データ作るの楽だから。
できれば、こんな感じのデータはクラスにして使ったほうが色々便利でいいと思う。
基本的に生データをさらしておくのはお勧めしない。
あと、これvc10のプロジェクト作成ウィザードで吐いたやつのWndProcだけ変更したやつだから要点はWindProcに集約されてるよ。
描画関数はMSDNで伸ばすほう伸ばさないほうの両方の互換性がWin95になってたから大丈夫だと思うんだけど・・・。
266 :
デフォルトの名無しさん :2010/11/17(水) 10:44:22
「〜てみた」
民主党
奴らは言うだけで実行しないから
269 :
デフォルトの名無しさん :2010/11/17(水) 11:09:50
メッセンジャーでメール受信したときに右下に出てくるウィンドウみたいなのを出す サンプルコードみたいなのないでしょうか?
ありがとうございます
272 :
デフォルトの名無しさん :2010/11/17(水) 12:22:53
↓サドルマン
274 :
261 :2010/11/17(水) 16:34:37
>>273 正解。
って俺はハゲじゃねー。まー、うまく動いてるなら問題ないんだがね。
>>265 mingw32 3.4.4 (結構古い) の g++/ld でコンパイル/リンクしたのですが no problem でした
276 :
261 :2010/11/17(水) 16:58:26
>>275 おー。そりゃ俺としても面白い結果だわ。
ま、がんばってくれ。道はまだ半ばだ、いざ行かん。ノシ
>>268 んなことない
日本の未来を潰すものはてきぱきとに実行してる。
>>277 それを日本国民が望んでいたから、選挙で民主が大勝した
みんなの党に入れた俺に隙は無かった。
俺も民主党に入れる勇気は無かった
>>275 おいドンもmingw使っているでゲソ
g++/ld でコンパイル/リンクするmakefileくれな烏賊?
282 :
デフォルトの名無しさん :2010/11/17(水) 19:58:49
誰かご存知でしたら教えてください コマンドボタンが実装されたApp1.exeがあります App1.exeのボタンがクリックされたら、そのイベントをフックするApp2.exeを 制作したいと思っています VC++でSendMessageやFindWindowを使ってクリックのイベントをフックするアプリは作ったことはありますが コマンドボタンをクリックするイベントのフックの仕方がわかりません 参考になるサイトのURLやAPIなど、教えていただきたく思います よろしくお願いします
>>282 です
補足です
App1.exeは他社で制作されたアプリで、ソースは公開されておりません
VB6で制作されているようです
よろしくお願いいたします
複数のペンを使って描画する場合 1.下記で大丈夫でしょうか? BeginPaint→ CreatePen→SelectObject→使用→DeleteObject(SelectObjectで他のPenに変えてない)→ CreatePen→SelectObject→使用→DeleteObject(SelectObjectで他のPenに変えてない)→ : : EndPaint
>>285-286 Makefile作ってみた
(左端のスペースはタブです)
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)
>>282 FindWindowで親ウインドウを探したら、
FindWindowExを使ってコマンドボタンの子ウインドウを探して見るとか。
>>288 ヘッダファイルだけが更新されたときに
それだとちゃんと動かないね
「〜てみた」系は無視しろよ
へ? なんで? 助かってるのに
>>285 vc10にバックポートしてみた。
一個だけWinMainがおかしいとか怒られるんだけど、WinMainをTCHAR対応にすれば動いた。
具体的には_tWinMain(・・・)ってするだけなんだけどね。_tがキモイけど大事だ。
295 :
デフォルトの名無しさん :2010/11/17(水) 23:09:21
>>294 >>286 だけど、
mingwでは_tWinMainだとダメポになる。
あと、mingwだと.rcなんかに日本語あると化けてダメポになんだよね
rcの日本語をちゃんとやろうとすると、VCのrcで前処理して、windresに
渡してやるとかしないといけないんだよな。
mingwで有料のVCのrc使うっておいおいだからね
>>288 どうも!
>>296 紛らわしいこと書いてすまないね。
用はVC10EEで動かしたかったらって話だから。
言葉が抜けてた。すまない。
どーまんせーまん。
これはひどい
通報してもいいですか^^;
エッチなまうまう?
エッチしてるなう
ペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロ
尿意
僕はイテレータちゃん!
まだ書けるかな 巻き添えはごめんだ
隔離スレ最高
隔離スレとか言い出すのって大抵悔しくて顔真っ赤な奴だよねw
あずにゃんペロペロ
あずにゃんは俺の嫁
なんですと
あずにゃんスレ
WM_PAINT以外の場所でGetDC,ReleaseDCして描画した時、表示内容が欠けた際の補完処理(invalidaterectで再描画をシステムにお願いするような)したいのだけど無理? こういう描画処理ってWM_PAINT内でifやらなんやらつかって処理すべきもの?具体的にはWM_LBUTTONDOWNでsin波表示させるようにしたい。
sin波を描画した直後にその領域が無効化、 WM_PAINTで再描画されたらsin波が消えた、 ってパターンが嫌ならWM_PAINTに実装すべきだろうな。 更新頻度が高いとか重要度が低いとかなら、描きっ放しもありだと思うけど。
ダブルバッファリング常考
342 :
デフォルトの名無しさん :2010/11/18(木) 09:22:10
定期あげ
もうだめだこのスレ
元からカスだったじゃん
ぬこのスレ
ミクロナーゼ
わんわんお?
あずにゃん
ペロペロ
侵略ぅ〜
352 :
デフォルトの名無しさん :2010/11/18(木) 18:24:06
教えてくださいませ。 TreeView_CreateDragImageの戻り値がNULLになってしまうのは 原因としてどのようなことが考えられるでしょうか。 私の環境にドラッグ用のビットマップが用意されてないということでしょうか。
これは恥ずかしい
(ノ∀`)アチャー
355 :
デフォルトの名無しさん :2010/11/18(木) 20:50:18
定期あげ
>>289 >>290 >>282-283 です。
解答ありがとうございました。
どうがんばってもボタン押下イベントをフックできないので
「マウスのクリックが発生したとき、ボタンにフォーカスがあったなら」
で対応するようにしました。
@ SetWindowsHookExで全マウスイベントを監視
A WM_LBUTTONUPであるなら、そのウィンドウハンドルでSendMessageを使って
ウィンドウ(イベントの発生を知りたいボタン)のテキストを取得する
B 取得したテキスト名が監視したいボタンのテキストと同じなら処理実行
今日一日考えて、やっと実装できました。
まだまだ実装しないといけない機能は山ほどありますが・・・。
>>340 ,341
なるほど〜。ありがとうございました。
あなたの好きなWin32APIを1つ言いなさい
bitblt
Beep
CopyRect
DestroyCursor
Explorer
BitBlt
a.exe a.batなどのファイルアイコンをクリックしたら プロンプトの黒いウインドウを一瞬出さずに キーボードのCtrl+S を押したのにと全く同じ効果があるプログラムって C,C++,C# で出来ますかね? 入力のところまでは作れた記憶があるんですが 黒いウインドウが消せたかどうか覚えてなくて
Windows(Server系)全般の質問かも知れませんが、Windowsのログインというのは1ユーザしかできないのでしょうか? ターミナルサービスを使用したログインと実際にログインしているユーザは、また別物と考えてよいのでしょうか? GetUserNameの関数で取得できるユーザが実際にログインしているユーザと認識しています。
書いて思い出したんで質問を変えさせてくださいすけど昔作ったのは アクティブなウインドウにキー入力を送るというやつで、 アクティブまたは大元のウインドウにキーを送るということで 実物のキーを押すのと等価といえるのでしょうか? タスクバーからプロブラムを起動したら ***キーと***キー押下と同じ効果が起きて、 ショートカットキーであれば 同じように反応する、ということをやりたいんですが プロンプトの抑制は自分でやってみます
ちがいます。
>>368 >>367 へのレスですか?
ありがとうございます。
火急のものでもないので64bitOSのに買い換えるまで放置します。
>>366 エディションによるけど同時に複数の端末からログインしてホストを操作できるよ。
371 :
デフォルトの名無しさん :2010/11/19(金) 04:51:10
Windowsで、URLスキームとアプリケーションを結びつけるにはどうするのでしょうか。
たとえばHTMLページに href="mailto:
[email protected] " というリンクがあれば、このリンクをクリックするとメーラが起動します。
あるいは href="aim:goim?screenname=foobar" だったらAOLインスタントメッセンジャーが起動するでしょう。
このように、リンクのURLスキームとアプリケーションを結びつけたいのですが、
とっかかりになる情報だけでも教えていただけないでしょうか。
よろしくお願いします。
フォルダオプション->ファイルの種類->URL:MailTo Protcol ちがってたらスマソ
Web Development - Internet Explorer Development - Content Extensions - Pluggable Protocols 新しいスキームだとここら辺か? ブラウザと直結するからあまりお勧めしないが。
>>371 こんなところで質問しないと開発を進められないキミの技術レベルだと、
ブラウザにセキュリティ上の大穴あける確率がとても高い。
簡単にいえば、素人は手を出すな。キミには1000年早い。
375 :
デフォルトの名無しさん :2010/11/19(金) 11:43:06
定期あげ
>>372-373 ありがとうございます!「Pluggable Protocols」でぐぐったらいろいろ出てきたので
あとは自分で調べてみようと思います。
ちなみにMacでは同じ機能を「カスタムURLスキーム」と呼んでいます。
誰がブラウザの話なんてしてるんだろ・・・
オレオレ!
HTMLのアンカー踏むだけで呼び出せるのだから、 ブラウザの話が出てこない方が不思議だろ。
380 :
デフォルトの名無しさん :2010/11/19(金) 23:11:33
定期あげ
1/4世紀も使われ続けている命令セットだからな。
_,、,、,、___ * + ,Oニ二_.工業用__) i!|i 〒 ! + 。 + 。 * 。 + i!|i 。 | | * i!|i + / / イヤッッホォォォオオォオウ--------イ! ∧!|i∧ / / (´∀`u/ / + 。 + 。 * 。 ,-u f ()] カチッ! / ュヘ u | * + □(E) 。 + 。 + 〈_} ) | ∧_∧/ / / ! (´∀`*) / + + * ./ ,ヘ |⊂ニニ / ガタン ||| j / | | ||| / /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
お前にはがっかりだよ・・・
失望した
391 :
デフォルトの名無しさん :2010/11/20(土) 19:53:19
定期あげ
あぶらあげ
393 :
デフォルトの名無しさん :2010/11/20(土) 21:00:56
あぶらさげ
から揚げ
395 :
デフォルトの名無しさん :2010/11/20(土) 23:32:06
からさげ
396 :
デフォルトの名無しさん :2010/11/21(日) 02:09:40
POINT構造体とSIZE構造体ってわける必要あるんですか?
そんなことを言ったらBOOLなんて……
位置と大きさは違うだろ
>>398 そう、概念はね。でも実装は(実質)同じ。
実装が同じでも概念が別なら別物として扱うべきか? という数十年来の
議論をまた蒸し返そうってんだぜ。
>>396 はよ。
POINTとSIZEはともかく RECTとRECTLの違いは何?
POINTL, RECTL はメタファイル用。
>>396 POINT構造体と↓こういう構造体をわける必要は無いかね?
struct baka_aho {
LONG number_of_baka;
LONG number_of_aho;
};
WM_PAINTで描画処理を記述していると、 ウィンドウのサイズを変更するたびにウィンドウが点滅するのですが、 点滅しないようにできないのでしょうか? 他のアプリケーション見ていると点滅していないし、できるとは思うんですけど。
double buffering
>>403 ちらつき デバイスコンテキスト
で検索するとよい。
407 :
デフォルトの名無しさん :2010/11/21(日) 15:32:11
定期あげ
>>403 Flicker 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;
サンプルとはいえ毎回コンパチブルビットマップ作るのかお(^ω^ ;)
CreateCompatibleBitmapってそんなに高負荷なの?
>>411 毎回作るのは明ら蟹無駄だ都思わ内科医?
じゃあビットマップを作り直すのは、色数が変更されたり、テーマを切り替わったり デスクトップコンポジッションが変わったときだけでいいの?
明日のお天気は
谷
良
子
「今夜は寝かせないんだから」 谷はそういって服を脱ぎ始めた。 亮子はいつもそうだった。自分勝手で、わがままで。明日、試合を控えてる俺の事情などそっちのけで 子作りしたいなどと。まったくこまった奴だ。 でも、今日は許してあげようかと思う。最近ご無沙汰だった為、亮子はご機嫌斜めだったしな。 いやと言ってもやめてくれなさそうだし、諦めて夜のお勤め、させていただくとするか。 俺は服を脱ぎ始めた。 真っ赤にほてった亮子の素肌は、柔道家とは思えないきれいな肌だった。 カラダには無駄な肉は付いてないし、引き締まっててナイスボディだ。 裸体の谷も、柔道家の谷も、妻としての谷も、どれも俺は好きなのは知っていた。しかし、やはり郡を ぬいて今の亮子は素敵だ。 なんつーのはいつも言ってる言葉か。 少し笑う。 いきり立つ俺の息子は、亮子の裸体に反応していた。それをみかねた亮子は、そっと 手でさすり始めた。 いや、しごきはじめた。が適切だろうか。 手コキだ。 くちゅくちゅと、唇で息子の先端をいやらしく吸っている亮子は、どこか激しかった。 ルビーのように赤くなった俺の息子は、激しい攻めに負け、一本とられてしまったようだ。 僕は射精した
>>412 俺もそう思って極力作り直さないようにしてみたことがあったけど、
毎回作り直した場合と有意な差は出なかった。
DeleteObjectで直ぐに解放されなかった場合はGDIハンドル数が大増殖するな
SelectObjectしっぱなしなんだろ
422 :
デフォルトの名無しさん :2010/11/21(日) 21:20:30
定期あげ
コピペにマジレスとか
マジレスに見えるとか
突っ込んでもらってなんだけど、俺はコピペの選択についてマジレスしたのでした
谷亮子APIを開発
エ、エロひ………
RECT構造体にしていできる最大の座標はいくつなんでしょうか? また、その値はwindows.hに定義されているのでしょうか。
3万いくらだったかな
typedef struct tagRECT { LONG left; LONG top; LONG right; LONG bottom; } RECT;
CopyRect
これ作った人は、構造体の代入がCでできることを知らなかったのかね・・・
Cは最初できなくて途中で仕様変更はいったんだっけ?
規格では出来る ≠ 全ての実装で出来る MS-C とかな
memcpyじゃだめだったんだろうか
VBのことも考えてやれよ
別の言語の為にわざわざSetRectとか用意してるんだね…って勝手に解釈してたんだが。
VBのためか・・・それは納得せざるを得ない
VBリリース以前からあるんだが。
Don't think,FEEL!
OffsetRectもひどいなw
当時はオブジェクト指向が流行ってたんだよ
445 :
デフォルトの名無しさん :2010/11/22(月) 16:57:06
定期あげ
RECTの内部構造に依存したプログラムは駄目なんじゃないか? 初期化にはSetRect コピーにはCopyRect 比較にはEqualRect等 解放前にはSetRectEmpty この基本を守らないと将来のWindowsでメモリリークなどの可能性が
タスクマネージャから行う「関係の設定」を自プロセスから自分に対して制御する方法は無いでしょうか? スレッドアフィニティーだと、自前の処理で発生したスレッドの管理はできますが、ライブラリが 生成したスレッドまではカバーできません。 よろしくお願いします。
自己レス SetProcessAffinityMask がありました。試してみます
451 :
447 :2010/11/22(月) 18:42:06
>>448 どうもすみません。レスに気がつかなくて。
ありがとうございます
呼んだ?
┃| 三 ┃| 三 ┃| 三 ┃| 三 ┃| 三 ┃| ┃| ピシャッ! ┃| ∧∧ ┃| (; ) 三 ┃|⊂ \
お尋ねしたいのですが、人に謝罪するにはどうしたらよいのでしょうか? その方法を、母も、姉も、父も、先生も、みな教えてはくれませんでした。 どうしたらいいかわからず困惑しております、助けてください!! スレ違いかも知れませんが、当方極めて切羽詰っております、平にご容赦を・・・
まずCopyRectに謝れ
>>454 マジレスすると、君の思いをどうやって伝えるかという一点になる。
その表現方法は色々あるけど、それは場合で選択するべきであり、
何を持って謝罪とするかは両者の合意に近いものだ。
だから考えろ。そして元のバランスの取れた状態に戻す方法を思案するんだ。
>>446 まぁ用意されてる関数でやるのが妥当なんだろうけど、
どうせCopyRectExExとかが登場するのさ
SuperCopyRectorExtream
CopyRectExExEx_Extended
プログラマってのはいいですね。2つ覚えておきゃいいんですから。
>>461 まて、元ネタはとんでもなく低レベルだが
それはとんでもなく高次元で人間やめてるぞ
gotoとexitですね
10:GOTO 10
確かに Windows Internals と Windows via C/C++ の2つだけ覚えとけば大丈夫だよな。
全てはIO。入力と出力である。
くそひりむし
468 :
デフォルトの名無しさん :2010/11/23(火) 05:36:50
>>459 はExtremeの綴りを素で間違えたあげ
ほんとだ
スペルミスなんざ押し通したもの勝ちなんだよ。 HTTPのRefererとか。(正しくはReferrer)
constractor は意外と多くて困る
>>470 まじかよ…
ずっとrefererって英単語だと思ってた
一瞬名前スレかと思った
creat(笑)
>>472 RFCにもReferer[sic]って書いてあるだろ。
>>475 constructorって普通指が覚えてないか?
RFCに書いてあるのなら仕方ないな
RFCなら仕方がない
RFCなら
RFCを鵜呑みしているようではまだまだじゃな
ならばおぬしのRFCを見せてもらおう
これが俺の取っておきよォ!
484 :
デフォルトの名無しさん :2010/11/24(水) 00:12:52
RFCってそんなにすごいのか?
11種類の秘伝のスパイスが効いててな
辛口でおねがい
488 :
デフォルトの名無しさん :2010/11/24(水) 09:26:41
それはない
RECTを拡張する必要性なんか出てくるのか?
z座標が追加される程度なら問題ないが 可変次元になったら死ぬかも
ここまで古い仕様だとRECTを拡張するより新しく定義したほうが互換性の面でも問題でないんでないかい? ヒープに確保するような面倒なこともそうそうしないし。
RECTEX
494 :
デフォルトの名無しさん :2010/11/24(水) 17:31:08
定期あげ
そしてsage
エッチなまうまう?
エッチしてるなう
わんわんお?
while( true );
TerminateThread(KusoThreadHandle, -1 );
DWORD WINAPI procThread(LPVOID p) { 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); }
508 :
デフォルトの名無しさん :2010/11/25(木) 09:13:55
#include <WindowsExEx.h>
510 :
デフォルトの名無しさん :2010/11/25(木) 12:48:02
WindowsExtream
window sex
sexなんて数千年前からあるような過去の遺物 早急に廃止するべき
Windows Sex Development Kit
514 :
デフォルトの名無しさん :2010/11/25(木) 19:16:00
WNDCLASSEX
この字面でネイティブの人たちは変なこと考えないのかな
この程度で変な事考えてたら身が持たない
うんど暮ラセックス
519 :
デフォルトの名無しさん :2010/11/25(木) 20:23:49
man command
HBITMAP
HITBIT
H.HIP
何この流れ
HSketchOnetouch
INITCOMMONCONTROLSEX
Sleep(-1);
528 :
デフォルトの名無しさん :2010/11/26(金) 12:12:08
定期あげ
Windows2003サーバーのターミナルサービス環境で、リモート接続したクライアントがGetUserName関数を呼んだ場合、 そのリモート接続のユーザ名が取得されるで正しいですか? 手元に環境がないので、わかりません。
>>529 そのスレッドを実行させたユーザーの名前がかえりますヨン
531 :
デフォルトの名無しさん :2010/11/26(金) 23:33:46
定期あげ
532 :
デフォルトの名無しさん :2010/11/27(土) 01:38:04
定期あげ
TerminateWorldPeace
>>529 環境がないなら、XP/Vista/7のリモートデスクトップで試したらいいと思うよ。
>529 は何が返ると思っているんだろうか。気になる。 接続ユーザー以外で返りそうなものって何がある?
SYSTEM
537 :
デフォルトの名無しさん :2010/11/27(土) 19:48:43
いいからAPI出せや
CopyRect
神APIだな 構造体のコピーができなくてもできる
???
!!!
&&&
へへへ
|||
フフフフフフ
つ WindowFromPhysicalPoint
僕のCopyRectも閉鎖されそうです
下半身のCopyRectは今日も元気です
chinko.elect();
整数型やらの変数の中身を描くにはどうしたらいいの wprintfとかsprintfとかいじっているけど全然分からない こういうように考えること自体が的外れなんかな
追記とりあえずsprintfとprintfで簡単なプログラムくんでみ。これ以上はスレチだから後は具具って頂戴
553 :
デフォルトの名無しさん :2010/11/28(日) 11:19:42
定期あげ
ポインタ理解できないやつはアセンブリ勉強すれば一発で理解できると 思われ
555 :
デフォルトの名無しさん :2010/11/28(日) 17:33:23
アプリケーションドメインに属する.Netオブジェクトのことですね
BASICやったら一発でポインタ理解できた
ポインタが分からないって言ってる人が 何を分からないっていってるのか分からない
とりあえず”ポインタのポインタ”を使う場面が、アドレスをポインタ渡しする場合を除いて未だよくわからないw
DirectXとかCOMで一杯出てくるよ
ジャグ配列作りたいときとか
main()のchar **argvとか
ポインタを受けとった側は あくまでポインタのコピーを受け取っただけ つまり受け渡し側がそのポインタに対して何か操作をしたとしても そのポインタがさすアドレスに入ってる値を知ることはできるが アドレス自体がどうなってるかは感知することが出来ない 例えば呼び出し元がそのアドレスにあるものを開放しちゃって無効になっていたり 別のオブジェクトをさすように書き換えたりしても 受け取り側のアドレスはコピーなので渡された時点のアドレスにあるものを処理しようとしてしまう
とりあえず * ** & *() とかいろいろやってれば解決する (現役25年)
25年ってえと知命は過ぎてるんだろうか
しり命ってどういうことですか?
ふぃふてぃーいやーずおるーど
天命を知る 天命ねえ…エラソーだね
てめぇの天命
てやんでぃ
年末ジャンボ
尾崎
豊
臣
木
下
藤
吉
外
郎…
>>551 回答ありがとう
深夜でほとんどやけくそになっていたから質問が日本語になってないな
要約すると、恐らく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));
としてみたがコンパイラは通るが動かない
自作の構造体my_tをコピーするCopyMyT() APIを実装するにはどうしたらいいですか?
>>583 助かった、ありがとう
tchar.hと_stprintf_sという関数があったのか
やっぱやり方ばかりに囚われないでユニとかマルチワイドとか基本的なことから押さえないとアカンね
WindowsプログラミンにおいてCRTで出来ることをWin32APIでやるのは基本的にいいことなのでしょうか?
588 :
デフォルトの名無しさん :2010/11/29(月) 03:55:38
定期あげ
SSEで今日の俺は4倍速
>>587 単純なプログラムほど出力物のファイルサイズ激減
CRT意外とおっき
_stprintf_sの本体ってprintだよな 修飾部分が本体の文字数を超えるほど何度も拡張されてるんだな
ツールチップ(tooltips_class32)で、改行コード(\nや\r\n)を入れてもツールチップ文字列が改行されないのだが、改行させるにはどうすればいいだろうか
普通に\nで改行するけど
595 :
593 :2010/11/29(月) 10:24:46
バルーンチップにしたら改行できた 解決
プリン
プリン
プリソ
プンリ
プソリ
このスレBooで舐めまわされてるのか
602 :
デフォルトの名無しさん :2010/11/29(月) 17:22:08
さげ
603 :
デフォルトの名無しさん :2010/11/29(月) 17:25:50
定期あげ
手動Fooですので
605 :
デフォルトの名無しさん :2010/11/29(月) 19:14:35
定期あげ
水揚げ
607 :
デフォルトの名無しさん :2010/11/30(火) 03:32:49
おっす、オラ極右!
608 :
デフォルトの名無しさん :2010/11/30(火) 09:50:15
定期あげ
609 :
デフォルトの名無しさん :2010/11/30(火) 23:13:39
ダイアログベースのウインドウに、リストビューコントロールをくっつけて、 画像ファイルのサムネイルを表示してみようとしたのですが、 ImageListに80x80ピクセルのHBITMAPを設定したのですが、真っ黒でしか表示されません。 FillRectで紫で塗りつぶしたりしてみましたが、一向に変化なし。 ためしに、ピクチャーコントロールにHBITMAPを貼り付けてみたら、正しく表示されました。 これって、何か設定が足りないのでしょうか? もしかして、アイコンしか表示できないのでしょうか?
>>609 ソース貼ってみろ
イメージリストにビットマップを読み込むところがおかしいんだろう
611 :
デフォルトの名無しさん :2010/11/30(火) 23:33:22
ということは、大きなサイズのHBITMAP画像(フルカラー)でも 問題なくリストビューに表示できるということですね。
顧問コントロールのリストビューは256までだったような
とりあえずHBITMAPとしては正しいみたいだから、 次はImageList_Drawで描画されるか確認したら良いんじゃないか?
614 :
デフォルトの名無しさん :2010/12/01(水) 00:16:33
ピクチャーコントロールに対して、ImageList_Drawも試してみましたが、 真っ黒でした。 やっぱフルカラーデータをリストビューに表示ってのがマズイのかも知れませんね。
ためしに16*16の8BITデータ読ませてみるとか。映れば良しダメならコードに問題ある。
イメージリスト作るときILC_COLOR32指定してないとか
617 :
デフォルトの名無しさん :2010/12/01(水) 00:28:36
ん、文章がおかしいぞ。 ピクチャーコントロールに対して、HBITMAPの表示はOK。 イメージリストに登録したHBITMAPは、ピクチャーコントロール、リストビュー共にNG。 ということは、やっぱイメージリストの設定がおかしいのか…。 ちなみに、ImageList_Createの最後の引数、cGrowって0以外の数値でも大丈夫ですか? ImageList_Addしてって、cInitialの個数を超えたら、cGrowまで拡張って解釈してるんですけど。
618 :
デフォルトの名無しさん :2010/12/01(水) 00:30:06
最初はILC_COLOR24にしてましたが、真っ黒だったので、ILC_COLOR32も試してみましたが 同様でした。
じゃあILC_COLORDDB試してみるとか
hdc要求するような関数でNULL指定してるかそれ相当してるとか・・・。
256x256のImageListに、SHGetFileInfo()で取得した32x32のアイコンをAddIconした場合、 拡大されてしまう為、これを阻止し、 アイコンを中央に表示したいと思うのですが、どういった方法をとればよいのでしょうか。 HBITMAPに貼り付けてAddしてみたのですが、ギザギザなアイコンしか表示することが出来ませんでした。
定期あげ
623 :
デフォルトの名無しさん :2010/12/01(水) 08:58:29
定期さげ
ここゎ何のスレデスカ??@@
@@
過疎
627 :
デフォルトの名無しさん :2010/12/01(水) 17:04:59
定期あげ
>>621 元々、複数の同サイズのイメージを管理するためのものだから、
そういう対応は難しい気がする。
予め256x256の画像の中心に貼り付けてから追加するとか、
自前で好きなように描画するとかしかないんじゃないか?
↑マジワロスww
↑↑テラワロスww
631 :
デフォルトの名無しさん :2010/12/01(水) 21:15:07
609ですが、解決しました。 イメージリストに登録する前に、HBITMAPのデバイスコンテキストを 開放していないことがいけなかったようです。
リストビューでサムネイルを表示した際、アイテムをクリックすると、画像までもが反転表示されてしまいます。 反転表示させず、エクスプローラの様に黒枠で囲むにはどのような操作が必要でしょうか。
633 :
デフォルトの名無しさん :2010/12/02(木) 03:10:55
定期あげ
634 :
デフォルトの名無しさん :2010/12/02(木) 13:41:57
あげ There are no programmers. There are only 2channelers.
定期あげ
636 :
デフォルトの名無しさん :2010/12/02(木) 20:57:35
よくウィンドウズのアプリで2重起動を禁止しているアプリがありますが、起動しているアプリが最小化や他のアプリの背後に存在しているときに、 2重起動でプログラムを実行すると、1つ目のアプリにフォーカスが当たり最前に表示(最小化から復元)するのを見かけます。これと同じことをしたい のですが、どのように実装すればよいのでしょうか?
>>636 まず、多重起動してるかかくにんする。
次にウインドウハンドルをとって最小化を解除する。
後はお好きに。
mutex
findwindow
CreateFontでメモリ上にあるフォントファイルを読み込む方法はある?
メモリの内容を一時ファイルに書き出して、そのファイルを読み込むのが一般的。
642 :
デフォルトの名無しさん :2010/12/03(金) 07:46:10
定期あげ
643 :
デフォルトの名無しさん :2010/12/03(金) 08:09:22
mmioOpenを使い、メモリ上のファイルを読み込もうと思っていますが、うまくいきません。 HMMIO 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について載っていないのでよくわかりません。ご教授お願いします。
偽者w
為者w
為箸w
為替w
はいはい終了
為賛w
TerminateThreadを無視するとはけしからん
TerminateThread( hKusoThread );
654 :
640 :2010/12/03(金) 19:32:52
AddFontMemResourceExで出来ました。
650=652
656==656
657===657
658 :
デフォルトの名無しさん :2010/12/04(土) 12:07:19
定期あげ
659 :
デフォルトの名無しさん :2010/12/04(土) 19:45:24
CopyRectあげ
そのAPIはない!
互換性のためにうんぬんかんぬん…
誰かRaymond ChenにCopyRectの歴史を訊いてくれ
663 :
デフォルトの名無しさん :2010/12/05(日) 01:17:38
GetWindowには、ループ中で使うと相手のウィンドウが途中で消えたりZ座標が変わったりした場合に問題が起きますが、 FindWindowExにはそのような問題はないのでしょうか? 最初にhwndChildAfter=NULLで呼び出したときにウィンドウツリーのスナップショットを持っていてくれればよいのですが、 EnumChildWindowsの場合と違って、スナップショットのメモリを解放すべき時期がWin32には分からないように思えます。
664 :
デフォルトの名無しさん :2010/12/05(日) 02:22:06
スナップショット持っててもウィンドウがなくなってたらどうしようもないな
Win64API本って買っといた方がいいの? ヤフオクとかで安く出てるけど。
ゴミだから手放すんだろ
API自体はほとんど Win32 API とおなじで
一部 64bit専用の API が追加されてることと
データ型のサイズに気をつけることと
あとまぁちょっとぐらいなにかあったかもしれない。
本はちゃんと読んでないからわからないけど
最初の方で Win64 でのプログラミングに関して
注意する点だけ書いて
あとは Win32本と基本的に同じなんじゃないかな。
一応 MSDN に情報はある。
64 ビット Windows プログラミング ガイド
http://msdn.microsoft.com/ja-jp/library/bb427430 (v=VS.85).aspx
669 :
デフォルトの名無しさん :2010/12/05(日) 19:48:55
定期あげ
教えてください。 例えばコントロールAのクライアント内でマウスをクリックする度に 画像を切り替えていく処理を作っていてBitBltで実現しているのですが、 描画する度に前回の描画状態が残ってしまいます。 InvalidateRect( NULL, NULL, TRUE );でやると前回の描画状態も 消えてくれるのですが、画面全体がちらついてしまうので やはり対象のコントロールAのクライアント領域に対してのみ 前回描画状態のリフレッシュをやったあと描画をやりたいのですが どういうやり方でやればいいのでしょうか? 色々試したのですがどうしてもできません。 よろしくお願いします。
ダブルバッファでggrks
WPF使えばいいのに・・・
>>670 せめて、第一引数にウインドウハンドル入れるんだ。改善しないと思うけど。
第二引数はGetCliantRectでとったものを入れるのが望ましく、
第三引数はFALSEにしておいて、ウインドウ全体をかきかえるのが望ましいかな。
ダーティレクトは捨てるんだ。
覚えること多いから手間考えるとお勧めはできない
>描画する度に前回の描画状態が残ってしまいます。 >前回描画状態のリフレッシュをやったあと描画をやりたいのですが 消したいのか残したいのかどっちなんだ?
676 :
670 :2010/12/05(日) 22:54:07
>>675 コントロール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 教えていただいてありがとうございます。それも一つの案として他にも何かないかもう少し探してみます。
ちゃんとクリッピングしないからだ
サブクラス化してるんだったら 継承元のDefaultWindowProc呼び忘れてるんだろうな
679 :
デフォルトの名無しさん :2010/12/06(月) 00:58:51
>>676 何でサブクラス化したりBitBltしたり面倒なことをしているのか?
SS_BITMAPを使うならSTM_SETIMAGEやSTN_CLICKEDを調べたらどうか?
680 :
デフォルトの名無しさん :2010/12/06(月) 01:06:56
いいからAPI出せや
Twitter API
あたいのポケットには1円しか入ってない
683 :
670 :2010/12/06(月) 01:45:35
>>679 BitBltやっているのは画像の一部分(背景色)を透明化している為です。
>>STN_CLIKEDを調べたらどうか?
マジありがとうございます!
そいつの存在を忘れていました。
結局この時間帯まで頑張ってできなかった・・。
ソース一式晒したほうがいいでしょうか?
俺の人生を最高にするAPI教えてくれ!!
GetClientRect+MapWindowPointsで 親ウィンドウに自ウィンドウ矩形範囲のInvalidateRectをかけてやると うまく動作するのは確認した。 CS_PARENTDCの付いたウィンドウは、 ウィンドウ矩形位しか管理していないと考えて扱うべきなのかなあ。
687 :
670 :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処理は今までそんなに触ってこなかったので
他にも色々指摘してくれると助かります。
※ツールの内容は勉強を含めて自己満の世界なので触れないでやってください・・
では、時間がほんとにやばいので寝ます。
688 :
670 :2010/12/06(月) 03:31:47
あと言い忘れてましたがPIF.exeを起動した後に表示される 左したあたりの画像をクリックしてもらえるとなんとなく自分が やりたいことがわかると思います。 クリック場所はクライアント座標の「600, 460」あたりです。 座標の設定ファイルはPIF.posファイルなので適当に眺めてみてください。 よろしくお願いします
689 :
デフォルトの名無しさん :2010/12/06(月) 19:25:47
定期あげ
ビットブリット屁が出た
こういう作りなら、コントロールの組み合わせに拘らず 直接描画で対応してしまった方が手っ取り早い気がするな。
俺691だけど。 普段コントロールなんかまったく使わんから勉強になったよ。 しかも直接生成するのはもっと無いな。 普段あんまりでかいコード書かないのもあるけどね。
694 :
670 :2010/12/06(月) 20:32:21
いま仕事から戻りました。
>>691 ぐおおおおおおおお!!
解決のヒントぐらいだと思っていたのですが、改造までしてくれるとは・・・・。
しかも、posファイルの座標調整までしてくれるなんてお礼の言葉もありません。
さっそく差分見てどこが原因だったのか調べてみます。
いい勉強材料になりそうです。ありがとうございました。
>>694 追加したハンドル開放してないとか色々不具合あるからきをつけてね。
コードのこぴぺは絶対やめるんだ。とだけいっとくか。
まーた懐かしいゲームだなおい 年齢は俺と同じぐらいかw
697 :
デフォルトの名無しさん :2010/12/07(火) 18:53:14
定期あげ
698 :
デフォルトの名無しさん :2010/12/07(火) 18:54:32
スニッピングが効いてるならありだと思う。 ウィンドウズでごみ箱がgで移動すれば便利だけど、日本人は損してる。
gomibakoにでも名前を変更すればいいだけだろ
700 :
デフォルトの名無しさん :2010/12/08(水) 09:16:44
定期あげ
うちはよく使うアイコンはみんな「gごみ箱」「cマイコンピュータ」とかに変えて一発で飛べるようにしてる
ご マ で移動するけど?
ここで質問していいか微妙ですが、 一瞬しか表示されないウィンドウがありまして、そいつをキャプションかなにかで監視して、表示したままにできるツール知ってる方いますか? spy++ならできるっぽいですが、フリーのものを探してます。
>>703 VCなら、デバッガでブレークポイント打つとか。
>>704 ありがとうございます。
ですが、そのウィンドウ(ダイヤログ?)を表示してるのは、自分で作ったものじゃないんです。
痛し痒しです。
エッチなまうまう?
707 :
デフォルトの名無しさん :2010/12/08(水) 17:47:41
エッチしてるなう
タブコントロールで、タブの位置を左右にした場合に タブを縦じゃなくて、上下に表示したときと同じように 横向きで表示する方法ある?
>>705 いや
それでもデバッガでとめられるんだよ
710 :
デフォルトの名無しさん :2010/12/08(水) 18:53:59
定期あげ
>>709 なるほど…そういったことができそうなデバッガを探してみます。ありがとうございました。フリーでありますかね…
初心者で申し訳ありませんが、 指定ファイルが削除可能かどうかのチェックをしたいのですがどのようにすればよいでしょうか? 2個セットのファイルがあり、両方を確実に削除できることを確認後に削除を行います。 ファイルの削除自体はDeleteFile関数で削除します。
>>712 消してみてからエラー内容で判定すればいい
714 :
712 :2010/12/08(水) 20:28:30
>>713 いえ、仮にAとBのファイルが存在して、
Aは削除可能、Bは削除不可の場合、 AとBの削除が可能な場合を確認して両方を削除します。
Aが削除成功後にBで失敗というケースがあるので、その方法は無理です(^^;
Aをどこかにコピーしておいて戻せばいいじゃん
DeleteFileTransacted
FILE_SHARE_DELETEで開け
718 :
デフォルトの名無しさん :2010/12/09(木) 09:37:27
定期あげ
BItBltで描画してんだけど、ウィンドウを移動させて画面の端を突き抜けて また戻してくると、そのはみでた部分だけ背景色になっちゃいます。 なのでそのときに再描画させたいんですが、 なんかちょうどいいウィンドウメッセージないですか? タイマー以外の方法でよろしくお願いします。
WM_PAINT
そうじゃなくて、Wm_Paintをその描画タイミングで発生させたいんです つまりInvalidateRect関数を実行するんですが、それを発生させる タイミングとしてちょうどいいメッセージはないのかを聞いてます。
windowsによって勝手に無効領域に設定されるから何もする必要はない
画面をはみ出したら自動的に無効領域として設定されるので、 自動的にwm_paintが発生するということですか? 描画の処理を、WM_paintのメッセージが発生したときに動作する場所に 書いてるはずなのに、描画されないんですが。
>>723 WM_PAINTの処理書いてるところにブレークポイント張ってみればいい
MoveWindow関数で、ウィンドウを動かさずにサイズだけ変更したい時は、どうすればいいですか?
WindowRectとって左上がウインドウのポジションだからそれを指定すればいい。 大きさはご自由に。
SetWindowPosも忘れないであげて……
CopyRectも忘れないであげて……
>>725-728 SetWindowPosを使う事にしました。
いろいろありがとうございました。
CopyRectは忘れてやれよ。
お礼されてCopyRectマジ歓喜
でも実際、CopyRectは昔は必要だったんだよね? CopyRectがなかったらMFCとか.NETとかWindowsとか生まれてないじゃん
733 :
デフォルトの名無しさん :2010/12/10(金) 01:53:16
水平スクロールバーの付いたウインドウの下に、 ステータスバーをくっつけるのって、どうやればいいのでしょうか? 現在は、CreatwWindowEx で水平スクロールバー付きの親ウインドウを作成して、 WM_CRATEメッセージで、CreateStatusWindow にてステータスバーの子ウインドウを 作成したのですが、ステータスバーの下にスクロールバーが付いた状態になってます。
>>733 親ウィンドウにスクロールバーをつけるのではなく、クライアント領域を覆う子ウィンドウ(MFC的にいうならビュー)を作ってそれにスクロールバーをつけることでしょうな。
つまりビューとステイタスバーを兄弟にするのです。
CopyRectがなければWindowsもなかったんですよね?
じゃあお前らCopyRectなしで構造体コピーしてみろや
winプログラミング歴16年ほどだけど、CopyRectって知らんかも
rect1 = rect2;
エディットボックスの背景に画像を描画することは無理ですよね?
そんなことはない なせばなる
ざっくりでいいんで簡単に教えてください。
サブクラス化してWM_イレイズバックグラウンドを処理すりゃいい
>>742 そんなメッセージあったのか。ありがとうございます。
WM_ERASEBKGNDなんてものがあったのか
ttp://codezine.jp/article/detail/3663 このサイトの内容を参考に、プログラムを組んでみた所
映像は正しく描画されたのですが、終了しようとすると
MediaPlayer.exe の 0x641d3a76 で初回の例外が発生しました: 0xC0000005: Access violation
MediaPlayer.exe の 0x641d3a76 でハンドルされていない例外が発生しました: 0xC0000005: Access violation
このようなエラーが出てきてしまいます。
エラーメッセージで調べてみたりはしたのですが、解決法が分かりませんでした。
どなたか解決法をご存じないでしょうか?
破棄する順番じゃねーの
>>746 なんと、その通りでした。
お早い回答ありがとうございました。
749 :
デフォルトの名無しさん :2010/12/11(土) 12:26:53
定期あげ
定期CopyRect
CopyRectはVBをやるのに必要と聞いたけどホント?
CだってCopyRect使わなきゃ構造体コピーできないぞ
そりゃ俺が大学生くらいの頃の話だ
50年前か
まるで難民キャンプだな。ここは。
お前ら、大学でてるのか 大学でが多いのに日本だめだよな。低脳でも大学行ける日本って変だよ 大学でって言いながら、実質高校後期課程での奴多いんだろ。俺もだがな 本当に大学でって言えるの、旧帝国大だったところだけらしいぞ
↑小卒です。w
私、尋常小学卒です
日本の大学進学率は約50%。ちなみに1990年は25%、2000年には40%。 石を投げれば大学生にあたると言われたのも昔の話で 「アニメーション学科」みたいなクソ学科が増えたこともあって、 いまや、大卒の価値は一流以外は毛ほどにもなくなってる^^
就職できない奴らが溢れかえってるからな。
私大文系は勉強するところじゃなくて「大卒待遇で就職できるかもしれない」という夢を売ってるところだからな。
仕事がないだけだろ 人間に増減はないんだから
えっ
エディットボックスの背景に画像を描画してるんですが、 ウィンドウを移動したり、文字を入力したりすると消えてしまうんです。 どうにかして防ぐ方法はないでしょうか?
スーパークラス化してWM_ERASEBKGNDを処理する
WM_ERASEBKGNDを処理するってことは、そのメッセージが来たときに もう一回描画すればいいってことですか? やってみても文字を入力したら背景は消えてしまいます。
文字を入力したときに発生するメッセージは何なのでしょうか?
スプリッタウィンドウを上下に分割しているのですが 親ウィンドウに追随してサイズを変更させるようにするにはどうすればいいでしょうか?
親ウィンドウがスプリッタウィンドウの大きさを変えてやればいい
>>770 親ウィンドウのプロシージャのWM_SIZEの所でResizeClientを使ったらできました。
ありがとうございます。
>>767 WM_CTLCOLORで背景ブラシをNULLブラシとかにしてみたら?
773 :
デフォルトの名無しさん :2010/12/13(月) 08:18:27
定期あげ
リストビューの背景に画像を描画してるんですが、項目を追加すると その部分はやっぱり白くなってしまいます。 SetBkModeでTRANSPARENTに設定しても、文字の背景が白くなるのでダメです。 どうにかして項目を追加しても、背景の画像が残せる方法はないでしょうか?
リストビューを自作すればいいよ
ListView_SetBkImageを使った方法を教えてほしいです。 ファイルからではなく、ビットマップハンドルから読む方法で。
多分オーダードローせんでもいけるわ ListView_SetTextBkColor(hwnd, CLR_NONE);
皆さんありがとうございます。 ListView_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が返ってきてしまいます。 考えられる原因を教えて下さい。 ビットマップハンドルは別クラスで取得したものを代入していますが、 ちゃんとハンドルは取得できていることを確認しています。
>>779 原因はお前が英語版のAPIリファレンスを読むことができない低脳だから。
781 :
デフォルトの名無しさん :2010/12/14(火) 09:30:23
定期あげ
低脳なのは十分承知です。 英語が読めたらここに来るわけありません。 最低な人しかいないんですね。もういいです。
783 :
デフォルトの名無しさん :2010/12/14(火) 10:17:12
英語読めねー奴はPGやめろ。
やめねえよクズ
こんなスレいらんだろ クズがクズに教えても何も解決しない もはや存在意義なし
英語が読めなくても、翻訳しながら意味を解釈していけばいいだけの話。 結局のところ怠け者の言い訳なんだよね。
クズは回答すんなよ w プログラムの初期化時にCoInitializeかOleInitializeしてるか?
> 翻訳しながら意味を解釈していけばいいだけの話。 それは英語読める方に分類してやってるんだが。それすら出来ないカスは今すぐPGやめろ。
789 :
デフォルトの名無しさん :2010/12/14(火) 10:41:15
定期あげ
PG 必要な技能 翻訳サイトにコピペしてボタンを押す
よほどマニアックなAPIで無い限り根性でググレば意外と日本語のサイトも見つかるぞ 初歩は頭の良し悪し以前に気合で何とかなる
MSDN日本語版を筆頭として日本語のサイトには嘘が多い。
ここも日本語サイトだよな
MSDNとVSのヘルプシステムの連携は 海外でも評判よくないw
そりゃそうだろw MSDNは名前だけでMSは無関係
796 :
デフォルトの名無しさん :2010/12/14(火) 12:41:04
MSDNは二次創作なんだが
798 :
デフォルトの名無しさん :2010/12/14(火) 12:58:02
いいからAPI出せや
SetRect
Insert(girl)
? 0
名前の一番長いWinAPIは何
IsTheLongestNameAPIEx2
ぐぐったところによれば ConvertStringSecurityDescriptorToSecurityDescriptor
どなたか、midiInStopとmidiInRestの違いを教えてください。 MSDNの解説見ると、キューのバッファの処理が違うようなんですけど、 具体的に何が変わって来るのかわかりません。
midiInAddBuffer で投入したバッファの残ってるやつがアプリ側に返されるかどうかじゃない
それが何のことだかわからないんだけど・・・ 戻らないと何か不都合があるのか?とか、どう使い分けるのか?とか・・・ 具体例を教えて欲しいなあと。 MSDNってほんと解らない。
不都合って、渡したままのバッファを free できないじゃない まだ使ってるのに
戻るとフリーになるんだ? バッファは必ずフリーにしないといけないって決まりなの? だったらReset使っておけば問題無いのかな? これってロングメッセージ限定の話だよね?・・・ってそこまで知らないか。
APIを呼び出した時点で新規入力を停止するまでは共通 バッファに残った未処理のデータをコールバックで通常処理するならReset ただちに完了マークをつけるならStop これのどこが理解できない
なにファビョってんだかw
>>809 いやいや、メモリを malloc で確保したら free で解放しなきゃいけないから
malloc でバッファを確保 → midiInAddBufferに渡す → midiInがバッファにデータを書き込む → バッファが戻ってくる → free でバッファを解放
という流れのプログラムを組むことになるだろ
もちろん malloc/free じゃなくて GlobalAlloc/GlobalFree でもなんでもいいが
もちろんグローバル変数を使うのなら解放する必要はない
ロングメッセージ限定の話
ショートメッセージはバッファ使わない
久しびりに聞いた単語 MIDI
814 :
デフォルトの名無しさん :2010/12/14(火) 16:58:50
エッチなまうまう?
エッチしてるなう
>>810 >>812 なるほど!バッファのルールがまだよく分かってないんだけど、
なんとなく流れが分かった。
MSDNもこういう具体的な解説付けてくれたらいいのにな。
ありがとうございました。
まだMSDNとか言ってんのか
MSDNの 「システム排他メッセージ」ってやめて欲しいな 「システムエクスクルーシブメッセージ」と呼ぶって、MIDIの規格書に書いてあるだろ MIDI知らないやつが翻訳するからこうなる
こんな風に名前を付ければ誤解されずに済んだかも midiInStop -> midiInPause midiInReset -> midiInStop
ローカル(操作PCに完全にインストールされた)なMSDNには価値がある。 ちょっと調べたい時にスパッと出てくるので便利。 ネットワーク経由のMSDNにはあまり価値がない、 ネットで検索するぐらいならMSDNなんて見ない。
2010のExpressはローカル版ないんで?
822 :
デフォルトの名無しさん :2010/12/15(水) 03:07:54
いいからISDN出せや
CopyISDN
音響カップラーって売ってますかね?
WIN32APIはオワコン
32ビットオワコン
御前らフロッピーをDMFフォーマットするAPIを教えて下さいな
829 :
デフォルトの名無しさん :2010/12/15(水) 09:12:13
定期あげ
830 :
デフォルトの名無しさん :2010/12/15(水) 09:22:44
>>818 キミが見ているのは偽物のMSDN。本物はsystem-exclusive messagesと書いてある。
いいからOPPAI出せや
(・)(・)
WH_MOUSE_LLよりさらに低水準で、 状態取得のみ可能なAPIってありませんでしたっけ?
835 :
デフォルトの名無しさん :2010/12/15(水) 17:17:20
繋がってる液晶モニタのリアル解像度を取得することってできませんか? CRT時代だったら需要のないAPIだと思うけど…
GetSystemMetrics
なんとWindows3.1時代から実装されているAPIであった…
>>836 そういう情報がそもそもないから存在しない
>>836 俺もだいぶ前から探してるんだけど、どうにも見つからない。
Vista以降のMonitor Configuration APIでモニタの種類を取得とかはできるんだが。
ドライバレベルでは取得できてるようなので、その情報にアクセスできる共通のAPIが
あればいいんだが。
ペゾルド本p.171 >プログラムがディスプレイの実際の物理サイズを必要とする場合にはどうしたらよいのだろうか? >おそらく、最良の方法は、ダイアログボックスを使ってユーザに直接入力してもらうことだろう。
VGAで使ってる液晶の時でも、XGAでの解像度を取得したいんだよね?
そうだよね。基本無理。
>>846 自分がペゾルド本をせっせと調べているうちに正解が書きこまれたので^^;
って夕香、リアル解像度って何?w ネイティブ解像度のこと?物理的なサイズ?それとも私?
親ウィンドウをリサイズした際に、ウィンドウ内のコントロールのサイズも適宜変えるにはどうすればいいでしょうか?
物理的な解像度のことじゃね 定規持ってインチ数を測ってピクセル数を割る
>>849 WM_SIZE とか WM_WINDOWPOSCHANGED とかのメッセージを捕まえて
MoveWindow とか SetWindowPos で適宜変えてください
Windows付属のエクスプローラーで、ドライブやフォルダーがツリー表示されますが それと同じ表示をするコントロールは、何かありますか? SHBrowseForFolder()を使うと、フォルダーを選択するダイアログを表示できる ところまでは分かったのですが。それと同じ表示をするものをウィンドウクライアント上に コントロールとして貼りたいです。
貼る(笑)
ツリービュー
>>854 やはりTreeViewコントロールを利用して、自作するしかない感じですね><;
情報ありがとうございました
OS依存のものは面倒なんで、OSのをそのまま使うほうが楽だぜ。 自分で作る場合はShellAPI関係経由で実装はできると思うけど。
Vista以降ならエクスプローラコンポーネントを貼るだけでいけたような・・・
858 :
デフォルトの名無しさん :2010/12/16(木) 09:04:03
定期あげ
IE貼ればエクスプローラになる
俺は貼られる側を作るのが専門。 だから、APIとATLとCOMについてはかなり詳しく知っている。
そんな最低限の知識自慢されても笑われるだけだよ。 言うのはこのスレだけにしとけよ。
>>860 そのわりには、このスレの回答レベルかなり低いけど
自慢はしたいだけすれば良いよ どうせ匿名だし誰か判らないんだから意味無いよね
>>862 msdn libraryを見ればわかる質問とスレ違いの質問しか無いから
865 :
デフォルトの名無しさん :2010/12/17(金) 16:14:35
定期あげ
質問させてください。 C++でPlatform SDKとVisualStudio(VS)・そのリソースエディタを使って組んでいるのですが、 Windows7のそれのような見た目を持つコントロール(緑色のプログレスバーなど)を 利用するにはどうすればいいのかヒントを教えていただけないでしょうか。 これまでのアプリをWin7上で実行するとコントロールの見た目が勝手に置き換わる、 と思ったらそうではなかったので (ウィンドウのタイトルバーの見た目は勝手に置き換わって半透明になってます)。 Win7にインストールしたVSのリソースエディタ上ではWin7の見た目になっているので、 できないことはないと思うのですが。
新しいバージョンでどうぞ
869 :
デフォルトの名無しさん :2010/12/18(土) 00:37:53
定期あげ
870 :
867 :2010/12/18(土) 00:55:40
>>868 情報後出しになってすみません、VS2008です。
2010でビルドすればWin7ルックになるということですか?
訪問記念、カキコ
>>870 後出しは世界中のどこでも嫌われる
そう思うなら2010でやってみる
Platform SDKじゃなくてWindows SDK for Windows 7でやれ
どこでそれ手に入れられんですか? いぐらぐらいするんですか?
ググルかMSのサイトで調べるんだ。
まぁ2010でやればWindowsSDK7.1は標準なんだが
VS2010はMFCも新OS対応になってて色々面白いぞ
878 :
867 :2010/12/18(土) 01:26:50
>>871 そうですよね、すみません。さらに言うと2008のSP1でした。
2010はexpressだとリソースエディタが使えないのでインストールしてないのですが、
今度インストールして試してみます。
>>872 おおおこんなものが出てたんですね、存在すら知りませんでした、ありがとうございます!
ざっと見たところ、.NET系のプログラミングに使えるものであって、
DialogBox()でダイアログリソースを渡して…という(PlatformSDK的?な)やり方では
利用できないような印象を受けましたが、もうちょっと詳しく調べてみます。
>>875 さらにヒントをありがとうございます。
ちなみに873は俺じゃないです。
みなさんありがとうございました。
2008ってVista対応のSDKが付属してるのに わざわざそれより古いPlatform SDK使ってるのかよ
880 :
867 :2010/12/18(土) 01:29:26
またorz…2008のStandardのSP1でした。
881 :
867 :2010/12/18(土) 01:36:35
俺が"Platform SDK"の意味を勘違いしてたみたいです。 俺がやってるのは新規プロジェクトからWin32アプリケーション(コンソールじゃないほう)を 選んでOKで進めてCreateWindow()やらDialogBox()で書いていくような、 ”猫でもわかるプログラミング”のSDK編にリソースエディタを足したようなやりかたです。 てっきりこのやりかた=Platform SDKを利用したやりかただと思ってました。 (というのもVisualStudio2005のexpressを使っていた頃は、VS2005に加えてPlatform SDKを インストールしないとビルド出来なかったからです。)
マニュフェスト書くだけだろ。 なんでこんな基本的な事をちゃんと答えてやれないんだ?
883 :
867 :2010/12/18(土) 02:18:32
>>882 情報ありがとうございます!
manifestってコントロールの外観を変えるのに使えるんですね!
単語は目にしていましたが特に触らなくてもこれまで困らなかったので何に使えるのかも知りませんでした。
ふむ…(一周前になりますが)2000ルックのコントロールをmanifestでXPルックのlunaにできると…。
Windows SDK for Windows7とmanifest、この2つについて調べようと思います。
みなさんレスありがとうございました。
>>882 みんな親切しても報われなかったんだろう
誰もがひねくれてしまった
>>882 そうだろ。
だからこのスレの回答者のレベルは低いと言ってるんだよ。
ぽっぽ
>>881 Platform SDKは大昔にWindows SDKに名前が変わった。
888ゲットぽっぽ
889 :
デフォルトの名無しさん :2010/12/18(土) 21:01:13
定期ぽっぽ
イメージリストを複製しようとしてImageList_Duplicateを使っていますが、どうもうまく複製してくれません。 かといってNULLが返るわけでもなく、イメージ数0の変なハンドルが返ってきます。ImageList_Destroyもできません。 ググってもバグ情報とか出てこなくてお手上げ状態です。もし何かご存知の方があれば教えてください。 ちなみにIEのバージョンは8です。
イメージリストは複製した だが中身まで複製するとは言ってない
893 :
890 :2010/12/19(日) 13:17:26
>>891 ありがとうございます。
>だが中身まで複製するとは言ってない
そうなんですか!?
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はどのように使うのが正しいのでしょうか。
質問よろしいでしょうか? WIN32APIで何かしらのUSBが接続されたことを確認するなどができる関数は ないのでしょうか?
通知メッセージが来る
WM_DEVICECHANGE
WM_DEVICECHANGE
ありがとうございます。 助かりました。 ちょっとググってきます。
899 :
デフォルトの名無しさん :2010/12/19(日) 20:43:30
定期ぽっぽ
えっちなぽっぽ?
エッチしてるぽっぽ
902 :
デフォルトの名無しさん :2010/12/20(月) 10:20:31
定期あげ
903 :
デフォルトの名無しさん :2010/12/20(月) 14:49:41
さげ
904 :
デフォルトの名無しさん :2010/12/21(火) 09:48:59
定期あげ
905 :
デフォルトの名無しさん :2010/12/22(水) 09:02:10
定期あげ
スレッド作成した後にCloseHandleとかいうので閉じるけど、 あれってスレッド側で閉じてもいいの?
ダメ
>>909 >MAPI:詳細については、「」を参照してください。
ひでぇな
質問者がハンドルの寿命とスレッドの寿命を混同している前提でなければ MSDNのCloseHandleの項目だと回答になっていないんじゃないか
>>910 明らかに何かが欠落してるとわかるだけマシなとこだろそこは。
>>911 > スレッドオブジェクトを削除するには、最初にスレッドを終了し、
> 次にそのスレッドのすべてのハンドルを閉じなければなりません。
の部分を示したかったんじゃね?
翻訳があってるかどうか微妙だけども。
> To remove a thread object, you must terminate the thread,
> then close all handles to the thread.
913 :
デフォルトの名無しさん :2010/12/22(水) 17:09:55
定期あげ
消費税は安定した推移を見せつつ、所得税と法人税が減少しているわけだから 単純に考えて、日本企業の業績が芳しくないのと、正規雇用者が減っているのと給与が上がらないのが主な原因 そしてもう一つ、安定した消費を支えている公務員の存在 ○○が売れないとは、公務員や正規雇用者を対象にしたビジネスが前提であり、非正規の存在が無視されている為に起こる つまり公務員を増やし、正規雇用者を増やし、給与をあげた上で、日本企業の製品やサービスを使い、企業も同じ姿勢を貫く こうやって巡回させていけば全てが上向く まずは国民全員を公務員にする為に、日銀法を改正して、日本政府の管理下に置く 円を刷り、生活保護を廃止して、ベーシックインカムを行う これが第一歩 次に3年間限定で緊急の結婚手当て、妊娠手当て、出産手当て、子供手当てを始めて、20年後を見据えたベビーブームを起こす 同期間に相続税、贈与税の税率を下げて、老人の資産が子孫に回る体制を作る そして、将来の国家像を構築する為に、旧インフラに縛られている首都圏を改装する その為に一時的に名古屋へ遷都をして、愛知県を中京都にする その間、首都圏で22世紀を睨んだ宇宙未来型の都市モデルを創造し、大規模の公共工事を行い、受注は日本企業が行う 航空宇宙未来技術、環境エネルギー、ソフトウェア、観光、農業、林業、水産業、医学工学、軍需産業ありとあらゆる分野の若い研究者に投資を行う 世界日本化計画と称し、日本だけではなく、途上国を中心に日本語を普及させ、ありとあらゆるインフラを日本企業が担う為に 国家に忠誠を尽くす準日本人を育成する これを30年化計画で進めていく 30年経ったら再び東京に遷都する
消 単 そ
スレチだし後半はないなー。
日本API
>>910 MSDNの日本語サイトは見てはいけない
919 :
デフォルトの名無しさん :2010/12/22(水) 19:22:29
Nakaso
30年後は日本の首都は実質北京だろう
そのころは日本は実質的に中国の日本自治区レベルだろな
いまでも中国がくしゃみをすると日本は重篤肺炎になる状況だからな
低脳な民の国は依存する大国の言いなりになるだけ
尖閣の件で分ったろ
アメリカの子分から中国の子分になると低脳民なりに決断したんだ
>>918 美国語が分らないんです><
なんでこのスレにシナチクが湧いてんだ
30年後の日本より10年後のWinAPIを考えようぜ
30年後の日本と、10年後のWinAPIのどちらが現実的なのかな?
俺の余命より後の話だからどうでもいいや。
30年後にはCopyRectExが出来る予定
自分で作った関数とせにを呼び出すのではどっちが速い? 中身同じ処理だったとして
欧米は珍妙な料理道具が次から次へと出てくるよね
>>926 CopyRectの拡張に30年もかかるのか・・・
そろそろCopyCube作らないといけないんじゃないかな?
その前にCopyCircleだろ
その前にCopyPoint
CopyPointsだろ
C++スレから移動してきました。 すみません、ミューテックスについて教えてください。 複数スレッドの処理で、下記のようなミューテックスの処理を行ってました。 コンストラクタ 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
最初のReleaseMutexでハンドルが解放されてる以上、 それ以降の呼び出しは全部エラー。 だからC++スレで「エラーチェックしてるか?」って聞かれたんだろ。
937 :
935 :2010/12/23(木) 00:35:51
>>936 そうだったのか!!!
すいません、解放失敗以降全てエラーになる事は知りませんでした。
戻り値をチェックしてみます。
ありがとうございましたm(_ _)m
解放の意味を理解しているのかかなり不安なんだが
なんか日本語が通じてない感じ
940 :
935 :2010/12/23(木) 01:03:51
>>938-939 すいません、まだ認識が間違ってますか。。。
ReleaseMutex→所有権の解放
WaitForSingleObject→所有権の取得(複数取得可)
>>936 さんは所有権の解放に失敗したら、以降の取得は不可能(エラー)となるものである。
と仰ってると認識したのですが、違いますか?
>>940 所有権の開放ではなくmutexオブジェクト(ハンドル)の開放。
コンストラクタでReleaseMutex(mutex);しているから、そのmutexオブジェクトはすでに無効になっている。
以降の[スレッド内処理]では、すべて無効なハンドルに対して関数を呼び出していることになる。
無効なハンドルに対するWaitForSingleObject、およびReleaseMutex(mutex);呼び出しは失敗する。
ReleaseMutex が正常に終了(戻り値がTRUEであるか、
WaitForSingleObjectが正常に終了(戻り値がWAIT_FAILED以外)であるか
ちゃんと確認してみろ。
解放に失敗するのはそもそもスレッドが所有権を持っていない(解放した)から だからWaitしない限り何回Release繰り返しても無駄だよねって話 別に失敗したからってMutexが死ぬわけじゃない あとなんでデッドロックしないのかよくわからん
1スレッド1mutexというオチだったりしてw
無名だしな
馬鹿が講釈垂れるほど見苦しいものは無い
>>935 再起カウンタが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だけなら辻褄は合いそうだが
948 :
935 :2010/12/23(木) 12:29:11
>>944 省略してしまいましたが、CreateMutexは初回スレッドのコンストラクタのみ行います。
そして最終スレッドのデストラクタでCloseHandleして破棄してます。
なので、1スレッド1ミューテックスではないです。
試しに最初の解放をコメントアウトしたら、2スレッド目が無限待機に陥ったので
スレッド間でのミューテックスは成功してそうです。
>>947 上で書いた様に、最初の解放をコメントアウトするとデッドロックするので
自動解放はしてないっぽいです。
今まで、解放に失敗してもその後の動作には関係がないと思っていたのですが
そうで無さそうなので。。。エラー時に以下の様になった場合は解放未完了になるのか?
という部分を懸念しています。
ReleaseMutex(mutex); // 0→-1
WaitForSingleObject(mutex, INFINITE); // -1→0
ReleaseMutex(mutex); // 0→-1
スレッド内処理終了(再起カウンタ0でないため非シグナル状態?)
WaitForSingleObjectを勘違いしてないか? ミューテックスがシグナル状態になるまで待つ関数だぞ
950 :
947 :2010/12/23(木) 13:11:49
Mutexを所有した状態でスレッドを終了すると、通常とは異なるシグナル状態になるみたいだ。 WaitForSingleObject() が WAIT_ABANDONED を返していたりしない?
WaitForMultipleObjects使えばいけるが 終了前に解放すりゃいい話だろ
なにこれひっど〜い
>>948 コンストラクタ
mutex = CreateMutex(NULL, FALSE, NULL);
ReleaseMutex(mutex); <=なんで取得してないのにイラネするの?
スレッド内処理
ReleaseMutex(mutex); <= WaitForSingleObjectの前にイラネするん?
WaitForSingleObject(mutex, INFINITE);
ReleaseMutex(mutex); //
まだやってんのかw エラー値見ればいいだけの話だろ。 妄想しなくても、OSはちゃんと教えてくれるよ。
質問いいですか? unsigned _64int型の整数を fprintf_s( ファイルポインタ,"%I64u ",変数 ); という形式で出力したところ、出力した形式とはまったく違う数字で出力されてしまいました。 テキストとバイナリ、同じ形式でやったのですが、結果は変わりませんでした。 変数が間違っていると思い、定数でやっても変わりませんでした。 _64int型ではなにか違う方法で出力しないといけないのでしょうか?
すみません 64intではなく int64です
すみません、自己解決しました。
何だこの流れ
よろしい さがってなさい
960 :
デフォルトの名無しさん :2010/12/23(木) 17:05:29
定期拳!
fprintf_sは api だっけ? もしかしてただのCライブラリじゃないか?
APIの意味を調べて、赤面する事だ。
963 :
デフォルトの名無しさん :2010/12/23(木) 18:29:32
定期あげ
964 :
デフォルトの名無しさん :2010/12/23(木) 21:54:42
965 :
デフォルトの名無しさん :2010/12/23(木) 22:12:27
定期あげ
クリスマスイブですが、お前らはどうせWin32APIだなwwwww
FWPでのフィルタリングで、条件にIPアドレスの範囲を指定することってできない? 範囲の指定をこんなふうにしてみたんだけど 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を使うしかない?
追記 Condition.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ね
969 :
デフォルトの名無しさん :2010/12/24(金) 23:04:26
定期あげ
SetMerryXmas()
Destroy(reaju)
xmas->Release()
santakuro-su->tonakai->release(); santakuro-su->open(purezento);
virtual void lover() const;
WaitForSingleXmas()
>>974 永遠の愛は絵空事でしかなく、ただ虚しさだけ残るか
WaitForSingleXmas()
DestroyXmas()
GetXmasPresent()
クリスマスプレゼント欲しい奴って意外といるのか?w
HANDLE WINAPI GetXmasPresent() { return INVALID_HANDLE_VALUE ; }
メリクリ ho
if (IsPresent(L"MonsterHunter")){
靴とパンツはいてる女は信用できん
GetGirlFriend関数は以前のバージョンとの互換性のために残されています。 新しいアプリケーションではGetBoyFriend関数を使ってください。
アッー!!
while (!IsPresent(L"MonsterHunter", L"Portable", 3)) { Sex(); GetXmasPresent(); }
失敗するのか、この関数w
そりゃNULLとか渡したら失敗するだろう
これだけ頭悪そうな関数だと確認せずに書き込みそうで・・・
ぬるぽ
CopyRectっ!
なんでLPRECTは定義してLPCRECTは定義しないんだ
ume
梅
>>993 そういるルールだからです。
「ぬーやる」バーガーはしってますか?
999
次に行こうか!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。