■過去ログ置き場に戻る■
1-
前250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
Win32API質問箱 Build30
751
名前:
デフォルトの名無しさん
:2005/04/23(土) 11:47:29
ニャー
752
名前:
デフォルトの名無しさん
:2005/04/23(土) 12:00:26
CreateDialogでダイアログを2つ作ったのですが、
メッセージループを回すと正常に回ってないようです
(片方しか反応しない)
うまくダイアログを2つ動かす方法をおしえてください!
753
名前:
デフォルトの名無しさん
:2005/04/23(土) 12:01:03
ソース出せ
754
名前:
デフォルトの名無しさん
:2005/04/23(土) 12:02:03
つ[ウスター]
755
名前:
デフォルトの名無しさん
:2005/04/23(土) 12:03:01
つ[
ttp://www.source.co.jp/]
756
名前:
デフォルトの名無しさん
:2005/04/23(土) 12:06:26
IsDialogMessage(hWnd..)のhWndが静的変数で、
複数のモーダルダイアログが自分勝手にその変数を書き換えているとか?
757
名前:
デフォルトの名無しさん
:2005/04/23(土) 12:34:14
猫わかって恥ずかしいの?
なんか本出してからサイトはなかなか更新されないみたいだね
758
名前:
デフォルトの名無しさん
:2005/04/23(土) 12:45:15
すいません、エディットコントロールのスクロールバーのつまみをクリックした場合の
SB_THUMBTRACKでの処理はふつうにできるのですがクリックしないで
SendMessage(hwnd, WM_VSCROLL,(WPARAM)SB_THUMBTRACK, 0);
のようにするとつまみが一番上に来てしまいます。なぜでしょうか?教えてください
759
名前:
デフォルトの名無しさん
:2005/04/23(土) 12:57:10
>>758
つまみが一番上に来るように書いてあるからです。
760
名前:
デフォルトの名無しさん
:2005/04/23(土) 14:13:58
>>754-755
面白くないですよ。
>>757
猫わかって略し方が恥ずかしい。
761
名前:
758
:2005/04/23(土) 14:42:19
原因がわかったのでもういいです
762
名前:
デフォルトの名無しさん
:2005/04/23(土) 15:05:12
>>761
そうそう。冷たい対応されるときは冷たくあしらってやれ!
763
名前:
デフォルトの名無しさん
:2005/04/23(土) 15:21:35
自分で0にしておいて、0になりましたって言われてもねぇ。
764
名前:
デフォルトの名無しさん
:2005/04/23(土) 15:46:38
>>763
頭大丈夫?わかってないんならでしゃばんなよ
765
名前:
デフォルトの名無しさん
:2005/04/23(土) 15:50:02
>>764
>>764
766
名前:
デフォルトの名無しさん
:2005/04/23(土) 15:51:10
>>765
>>765
>>765
767
名前:
デフォルトの名無しさん
:2005/04/23(土) 16:05:17
それをやるなら
>>766
>>764
で十分でしょ。わざわざ3つにする必要全然ないですけど。
768
名前:
デフォルトの名無しさん
:2005/04/23(土) 16:08:31
>>767
意味不明
>>759
=
>>763
=
>>765
769
名前:
デフォルトの名無しさん
:2005/04/23(土) 16:44:15
>>768
いや、全然意味は分かるけど?
770
名前:
デフォルトの名無しさん
:2005/04/23(土) 16:44:51
>>768
ギャハハ。途中から俺が割り込んだらすっかり混乱してやがるw
771
名前:
デフォルトの名無しさん
:2005/04/23(土) 16:47:12
なんだこの池沼は・・・
772
名前:
デフォルトの名無しさん
:2005/04/23(土) 16:57:00
>>771
>>768
だろ?
773
名前:
デフォルトの名無しさん
:2005/04/23(土) 17:03:03
いつから池沼が湧くスレになったんだろここは・・・
774
名前:
デフォルトの名無しさん
:2005/04/23(土) 17:05:26
結局俺たちは、最後の最後まですれ違ったままになってしまった
その後、どういう偶然の結果か、回答者のいなくなったこのスレが巡り巡って俺の
775
名前:
デフォルトの名無しさん
:2005/04/23(土) 17:11:49
>>773
いつそうじゃなかったのか教えてくれよ。
776
名前:
デフォルトの名無しさん
:2005/04/23(土) 17:21:18
↓以下何も無かったかのように再開
777
名前:
デフォルトの名無しさん
:2005/04/23(土) 17:21:52
│ _、_
│ ヽ( ,_ノ`)ノ 残念 私のおいなりさんだ
│ へノ /
└→ ω ノ
>
778
名前:
デフォルトの名無しさん
:2005/04/23(土) 18:47:47
>>737
何らかの操作を行うことでウィンドウを表示する可能性があるのなら(1)
表示させることが無ければ(2)
779
名前:
デフォルトの名無しさん
:2005/04/23(土) 19:38:58
急速にスレの質が上昇してまいりました
780
名前:
デフォルトの名無しさん
:2005/04/23(土) 20:41:49
だがそれがいい
781
名前:
デフォルトの名無しさん
:2005/04/23(土) 21:00:35
>>779
安心して。そんなことないから。
782
名前:
デフォルトの名無しさん
:2005/04/23(土) 22:04:04
そういえば、なぜ GetMessage( &msg, NULL, 0, 0 ) の
第二引数はいつも NULL なのですか?
783
名前:
デフォルトの名無しさん
:2005/04/23(土) 22:05:59
変えてみたら?
784
名前:
デフォルトの名無しさん
:2005/04/23(土) 22:08:53
というか、いつもじゃ無いし。
785
名前:
デフォルトの名無しさん
:2005/04/23(土) 22:46:14
>>782
hWnd メッセージの取得に使う(取得元)ウィンドウのハンドルを指定します。このウィンドウは、呼び出し側スレッドに所属していなければなりません。次の値には、特別な意味があります。
NULL:呼び出し側スレッドに所属する任意のウィンドウへ送信されたメッセージと、PostThreadMessage 関数を使って呼び出し側スレッドへポストされたスレッドメッセージを取得します。
http://www.microsoft.com/japan/msdn/library/ja/jpwinui/html/_win32_getmessage.asp?frame=true
786
名前:
デフォルトの名無しさん
:2005/04/23(土) 23:10:48
このようなサイトを見て頭が混乱したわけであります。じゃ、ウィンドウハンドル
をしていいのですね。
http://www.maa.spacetown.ne.jp/~fool/programer/memo/api32_memo.html
【つまり、GetMessageのhWndに真面目にウィンドウハンドルを入れると馬鹿を見る】
787
名前:
デフォルトの名無しさん
:2005/04/23(土) 23:22:48
世の中の大多数のWindowsソフトはGetDlgItem(無効なハンドル, 無効なID)やりまくりながら動いてる。
きちがいだ
788
名前:
デフォルトの名無しさん
:2005/04/24(日) 00:05:59
それで問題なく動いてしまうWindowsというOSは偉大だね!
789
名前:
デフォルトの名無しさん
:2005/04/24(日) 00:13:01
>>787
みたいなことがあまりに普通に行われていることをMSは認識していて、
いろいろ策を講じている
790
名前:
デフォルトの名無しさん
:2005/04/24(日) 00:28:51
>787
ソースは?
791
名前:
デフォルトの名無しさん
:2005/04/24(日) 00:43:38
>>790
つ[ウスタ−]
792
名前:
デフォルトの名無しさん
:2005/04/24(日) 00:51:40
つ[濃口]
793
名前:
デフォルトの名無しさん
:2005/04/24(日) 00:53:18
3.1のころはそれで良く落ちてたんだよ
最近は不正なハンドル渡されたら無視してるけど
それだけでかなり安定するんだから不思議なもんだw
794
名前:
デフォルトの名無しさん
:2005/04/24(日) 03:50:24
専門書の初期の版で誤植や間違いがあるのはある程度は仕方がない。
ただ、正誤表をちゃんと出さないのは困る。
http://www.seshop.com/book/errata/
翔泳社は版ごとに整理して公開してる。
795
名前:
737
:2005/04/24(日) 04:23:31
>>778
最近スレが過疎気味で心配でしたが、回答ありがとうございます。
あと、ウィンドウを表示する可能性がなくても、タスクトレイにアイコンを入れてる場合は(TaskbarCreatedを待つ関係で)基本的にはトップレベルウィンドウにしておく方が良いみたいですね。
796
名前:
739
:2005/04/24(日) 07:45:32
>>741
うう、英語ですか・・頑張ります・・・
>パスワードクラッカーやBOTツール
それはもう超作りたいんですが・・・ゲームの改造です・・・すみません・・・orz
>>739
ですので、自分じゃないんです。他のブロックをいじろうと・・・
バカで申し訳ないですが、Windowsのメモリブロック管理構造?はどこでわかりますでしょうか・・・?(用語がわからない・・・)
797
名前:
デフォルトの名無しさん
:2005/04/24(日) 08:14:51
>>796
英語の文章は無視してコードだけを見るようにすれば何ともない。
798
名前:
デフォルトの名無しさん
:2005/04/24(日) 08:22:12
>>739
ゲームの改造なら
まず、ウィンドウを適当な方法でみっける→ウィンドウハンドルからPIDを得る→OpenProcess→WriteProcessMemoryでいんでね?
799
名前:
デフォルトの名無しさん
:2005/04/24(日) 09:22:16
>>798
出身どこ?「いんでね?」とか東京では誰も使いませんよ。
800
名前:
デフォルトの名無しさん
:2005/04/24(日) 09:32:12
>>799
俺使うよ。江戸っ子だけど。
801
名前:
デフォルトの名無しさん
:2005/04/24(日) 09:42:49
方言ではなくDQN言葉
802
名前:
デフォルトの名無しさん
:2005/04/24(日) 09:44:27
DQN言葉でもなんでも【いんでね】?
803
名前:
デフォルトの名無しさん
:2005/04/24(日) 09:47:22
漏れは江戸っ子じゃない東京もんだけど、いんでね?
804
名前:
デフォルトの名無しさん
:2005/04/24(日) 11:00:20
いんどね
805
名前:
デフォルトの名無しさん
:2005/04/24(日) 11:05:57
ダメでしょ
806
名前:
デフォルトの名無しさん
:2005/04/24(日) 11:06:16
去ぬ
807
名前:
デフォルトの名無しさん
:2005/04/24(日) 11:58:09
マウスメッセージやキーボードメッセージを全部真下のウィンドウに渡して
まるでそのウィンドウが存在しないかのように振る舞う方法があったはずなのですが
忘れてしまいました
リージョンは切りたくないです
やりたいことは半透明で最前面表示だけど、じゃまにはならないウィンドウを作ることです
808
名前:
デフォルトの名無しさん
:2005/04/24(日) 12:02:24
>>807
へー、面白いね。俺は分からないけどもし解決したら
教えて。
809
名前:
デフォルトの名無しさん
:2005/04/24(日) 12:04:43
忘れちまった悲しみよ
810
名前:
807
:2005/04/24(日) 12:15:24
どっかで見た覚えがあるんですが・・・
でもWindowFromPointとかで処理されるとおかしくなりそうだし、無理なのかな
811
名前:
デフォルトの名無しさん
:2005/04/24(日) 12:17:28
あーやったことあるんだけど・・・俺もわすれた・・・。
それこそ忘れるほどたいしたこと無い方法で出来たはずなんだけど・・・。
俺がやったときはキーボードまで透過できたかはわからないけど、
マウスイベントは透過してた。
812
名前:
デフォルトの名無しさん
:2005/04/24(日) 12:22:26
お前ら過去に書いたプログラムとかどう管理してんの?
813
名前:
デフォルトの名無しさん
:2005/04/24(日) 12:36:48
開発成果物はドキュメントも併せて全てVSSにぶっこんであるけど、
ただぶっこんであるだけ。ただの仕事の保険みたいなもん。
VSS使用以前の物についてはVSS入手後ぶち込んだ。
ツール系や自分用のナレッジのような物は管理してない。
むしろこっちが大事だろうからやらねばと思いつつ、早十ウン年。
814
名前:
デフォルトの名無しさん
:2005/04/24(日) 12:48:25
>>807
WS_EX_TRANSPARENT?
815
名前:
デフォルトの名無しさん
:2005/04/24(日) 12:54:04
>>799
東京人が使う言葉しか書いたらいけないという決まりでもあるの?
816
名前:
デフォルトの名無しさん
:2005/04/24(日) 13:00:40
>>799
こんにちは、東京都小笠原村沖ノ鳥島の人
817
名前:
デフォルトの名無しさん
:2005/04/24(日) 13:20:59
>>815
あるよ
818
名前:
デフォルトの名無しさん
:2005/04/24(日) 13:34:51
>>812
これ。
http://www.tamasoft.co.jp/LightVM/index.html
819
名前:
デフォルトの名無しさん
:2005/04/24(日) 13:43:36
>>812
WinCVS
820
名前:
デフォルトの名無しさん
:2005/04/24(日) 13:48:22
WinCVSはなんかクソっぽい臭いがするんだが
Tk使ってるからか
821
名前:
デフォルトの名無しさん
:2005/04/24(日) 13:54:00
VSSでいいじゃん。
822
名前:
デフォルトの名無しさん
:2005/04/24(日) 14:01:55
CVSはバイナリファイルの扱いが糞だった気がする
823
名前:
デフォルトの名無しさん
:2005/04/24(日) 14:17:48
漏れはCVS使っているが、WinCVSは個人用には使っていない。
バイナリファイルの扱いは確かにダメだが、個人ではバイナリファイルを管理しないので無問題。
824
名前:
デフォルトの名無しさん
:2005/04/24(日) 14:44:21
>>818
これ、ダイアログのフォルダ追加の意味がよくわからん。
フォルダをドラッグで入れた場合は大丈夫なんだけど、
フォルダ参照で追加しようとするとかならず失敗する。
それ以外はまあお手軽でいいんじゃないかな。
CVSの面倒な部分が排除されてるよ。
CVSは管理が面倒。
多人数で回したりコマンドライン大好きっ子な奴以外は使う必要ないな。
825
名前:
デフォルトの名無しさん
:2005/04/24(日) 15:29:05
>>821
「じゃん」って何処の言葉?
俺の住んでるところではあまり使われないが。
826
名前:
デフォルトの名無しさん
:2005/04/24(日) 15:32:22
>>825
名古屋に多い。
827
名前:
デフォルトの名無しさん
:2005/04/24(日) 15:43:58
じゃんは東京じゃん
828
名前:
デフォルトの名無しさん
:2005/04/24(日) 15:48:16
豆板じゃん
829
名前:
デフォルトの名無しさん
:2005/04/24(日) 16:00:21
はなわさん曰く神奈川らしいです
830
名前:
デフォルトの名無しさん
:2005/04/24(日) 16:30:24
,--─--. /ヽ ̄/
/(ヽ) (イ)ヽ / ̄
/ヽエエエエエメ
/ヾ )。 | ,゚メ、
(ニ] [ニ)'---回ン, ヽ_
[ ̄ ̄]’ └─┘
じゃんじゃじゃ〜ん
831
名前:
デフォルトの名無しさん
:2005/04/24(日) 16:52:53
急速にスレの質が低下してまいりました
832
名前:
デフォルトの名無しさん
:2005/04/24(日) 17:29:24
>>831
いや、いつもどおりでしょ
833
名前:
デフォルトの名無しさん
:2005/04/24(日) 19:39:43
ローカルフックとシステムフックってフックプロシージャをDLLにするだけの違い?
猫にかいてあるようにやってもできないぞ
834
名前:
デフォルトの名無しさん
:2005/04/24(日) 20:20:43
unsignedのデータ型の変数の文字列の長さを知りたいのですが
どうすればいいか教えてください。strlenで無理やりスタイルキャストしても正確に値が返りません
835
名前:
デフォルトの名無しさん
:2005/04/24(日) 20:28:03
>>834
C言語を勉強をし
さらに日本語を勉強してください。
私にはどちらが足りないのか判断しかねます。
836
名前:
デフォルトの名無しさん
:2005/04/24(日) 21:38:53
>>835
>>834
の意味が分からないのには同感だけど、
あんたは分からないのになんで書き込むの?
放置以外ありえねーと思うんだけど。
おかげでオレのこんな無駄な書き込みが発生してしまい、
これに対して同様のツッコミも投稿されてしまうわけだ。
837
名前:
デフォルトの名無しさん
:2005/04/24(日) 21:44:20
>>834
を俺が脳内補完解釈して回答。
WinAPIではそういう関数は存在しない。(俺の知る範囲では)
VCなら_scprintf()/_sctprintf()使え。
つうかこれ調べているときに初めてStrSafeの存在を知った。
DLLのことで悩む心配が要らないのは良いがBCCで使えないだろ。(ノД`)
838
名前:
デフォルトの名無しさん
:2005/04/24(日) 21:50:32
_scprintfなんてものがあったのかヨ
839
名前:
デフォルトの名無しさん
:2005/04/24(日) 21:57:41
>>837
うーん、言葉遣いがなってないですねぇ
840
名前:
デフォルトの名無しさん
:2005/04/24(日) 22:06:19
へえ、strsafe便利そうやん
platformsdk入れれば使えるみたいね
841
名前:
834
:2005/04/24(日) 22:09:19
直接配列の要素数カウントして引数で渡したのでもういいです
842
名前:
デフォルトの名無しさん
:2005/04/24(日) 22:15:00
>>841
そういうことかよ。
843
名前:
デフォルトの名無しさん
:2005/04/24(日) 22:33:59
そういうことも糞も834みてふつうにわからない時点で低脳すぎ。このスレもうだめだな
844
名前:
デフォルトの名無しさん
:2005/04/24(日) 22:40:29
っていうかここ2ヶ月ぐらいでめちゃくちゃスレが低脳化してないか?
いきなり低脳の煽り入るし。なんかプログラム板とは思えないんだけど・・・
845
名前:
デフォルトの名無しさん
:2005/04/24(日) 22:41:55
低いかどうかじゃなく、834見てわかるようなやつは異脳だ
846
名前:
デフォルトの名無しさん
:2005/04/24(日) 22:42:29
春は仕方ないだろ。
新入生、新社会人、新厨房ときたもんだ。
847
名前:
デフォルトの名無しさん
:2005/04/24(日) 22:45:30
新入生と新厨房の違いは何?
848
名前:
デフォルトの名無しさん
:2005/04/24(日) 22:53:49
新厨房は、新入生及び新社会人の一部。
849
名前:
デフォルトの名無しさん
:2005/04/24(日) 23:24:08
なんで厨房はAPIスレにくるんだろ。JAVAとかVBスレにでもいきゃいいのによ
850
名前:
デフォルトの名無しさん
:2005/04/24(日) 23:25:49
>>849
厨房だから
851
名前:
デフォルトの名無しさん
:2005/04/24(日) 23:30:47
>>849
JavaとかVBを使ってないから
852
名前:
デフォルトの名無しさん
:2005/04/24(日) 23:36:04
一人の人間がずっと自演している予感
853
名前:
デフォルトの名無しさん
:2005/04/24(日) 23:47:00
みんな理解しようと言う努力が足り無すぎ
834を脳内補足して俺が完璧な回答を・・・
strlen(typeid(a).name());
普通にstrlenで出来るが板違い棚。API関係ねー。
854
名前:
デフォルトの名無しさん
:2005/04/24(日) 23:57:32
そこはあえてlstrlenでAPIの話にしてやるとか。
855
名前:
デフォルトの名無しさん
:2005/04/25(月) 00:46:11
>>852
自分のことかい?
856
名前:
デフォルトの名無しさん
:2005/04/25(月) 00:47:38
>>853
板違いですか・・・
どの板が適切なのでしょうか?
857
名前:
デフォルトの名無しさん
:2005/04/25(月) 03:54:48
OS板かな
858
名前:
デフォルトの名無しさん
:2005/04/25(月) 10:41:06
CreateWindow(Ex)で子ウィンドウ(ボタンなどコントロール類ではなく普通の窓)を作り、
これを不可視にして、
かつマウスイベントなどはきちんと受け取りたい
のですが、どうしたらよいでしょうか。
例えば親ウィンドウの色と同化させて擬似的に見えなくするとかは都合が悪いです。
それ以外の方法がありましたら教えて下さい。お願いします。
859
名前:
デフォルトの名無しさん
:2005/04/25(月) 12:19:36
>>858
レイヤード ウィンドウとか
860
名前:
デフォルトの名無しさん
:2005/04/25(月) 12:37:19
すいません、どなたかお願いいたします。
fh=CreateFile(szFn,GENERIC_READ,0,NULL,OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,NULL); // ファイルオープン
lpBuf=GlobalAlloc(GPTR,GetFileSize(fh,NULL)); // バッファ確保
ReadFile(fh,lpBuf,GetFileSize(fh,NULL),&dummy,NULL);
lpInfo=(LPBITMAPINFO)(lpBuf+sizeof(BITMAPFILEHEADER));
offset=*(LPDWORD)(lpBuf+10); // ビットマップまでのオフセット
lpBMP=lpBuf+offset; // ビットマップバッファのポインタ
CloseHandle(fh);
これでビットマップを二つ読み込んで重ねてマスク部分を透過させているのですが
横幅が奇数などになるとうまく透過させることができません。
重ね方は3バイト見ていって0xff 0x00 0xffだったら描画しないとしています。
4の倍数じゃないとうまく表示されないのはわかっているのでがうまくできないのです。
どなたかいいサイト、参考書、やり方などご教授お願いします;;
861
名前:
デフォルトの名無しさん
:2005/04/25(月) 12:50:16
4バイトアラインメント
862
名前:
デフォルトの名無しさん
:2005/04/25(月) 14:42:51
>>858
親ウィンドウにWS_CLIPCHILDRENを指定しないようにして、
子ウィンドウのhbrBackgroundをNULLにしとけばいいんじゃね?
>>860
BMPはスキャンラインごとにDWORD境界にアライメントされている。
863
名前:
デフォルトの名無しさん
:2005/04/25(月) 21:19:28
コールバック関数をクラスのメンバにするのに
staticにもせずSetPropやGetWindowLongなども使わずにやる方法ってありますか?
864
名前:
デフォルトの名無しさん
:2005/04/25(月) 21:25:17
>>863
ATLのようにサンク関数を生成する。
mov ecx, hoge
jmp hoge::callback
みたいなコードをhogeを埋め込んで生成するっていう手法。
やり方がわからない場合には、少し周辺知識とか勉強する必要がある。
865
名前:
デフォルトの名無しさん
:2005/04/25(月) 21:44:20
>>864
人の書いたコードを見てるんですが、
そんなむずかしいっぽいことはしてないみたいです。
基底クラスでなにごともなさげに普通にvirtualでコールバック関数を宣言して、
派生クラスで実装してるみたいなんですが、他に考えられることはあるでしょうか。
866
名前:
デフォルトの名無しさん
:2005/04/25(月) 21:46:09
なら、やっぱりどっかにstaticなサンク関数があるんでないの。
というか、WNDPROCがどうなってるかくらい検索かければ判るだろ。
867
名前:
デフォルトの名無しさん
:2005/04/25(月) 21:53:04
「だろ」もういい加減やめよう。
868
名前:
デフォルトの名無しさん
:2005/04/25(月) 21:54:05
なんでだろ
869
名前:
デフォルトの名無しさん
:2005/04/25(月) 22:12:29
CreateProcessでコンソールのプログラムを起動しています。
このプログラムは普通に(DOSプロンプト/コマンドプロンプトで)起動すれば
Ctrl+Cで終了することになっています。
このCtrl+Cの動作は起動元のプロセスからはどうやったらいいんでしょうか?
勘でパイプからEOF(\z)を流せばいけるかと思ったのですがそれは無理でした。
870
名前:
デフォルトの名無しさん
:2005/04/25(月) 22:23:46
GenerateConsoleCtrlEvent
871
名前:
デフォルトの名無しさん
:2005/04/25(月) 22:31:00
>>866
staticな関数自体一個も無いようなのですが。
872
名前:
デフォルトの名無しさん
:2005/04/25(月) 22:34:12
WNDPROCとして何渡してるかたしかめてみ
873
名前:
デフォルトの名無しさん
:2005/04/25(月) 22:37:55
別にクラスのstaticメソッドでなくても、C的な「関数」を
使ったスタブもあろうに。
874
名前:
デフォルトの名無しさん
:2005/04/25(月) 22:39:03
>>872
普通にウィンドウハンドルと、UINTでメッセージと、WPARAM、LPARAMを
引数に持っていますが、
そういう事じゃないですか?
875
名前:
デフォルトの名無しさん
:2005/04/25(月) 22:44:32
……WNDCLASSのメンバのpfnWndProcはどの関数だ、ってことだよ……
876
名前:
デフォルトの名無しさん
:2005/04/25(月) 22:48:48
staticなメンバ関数とそうでない関数がどう違うのか知ってれば普通に渡せるはずないってわかるのに‥‥
877
名前:
865
:2005/04/25(月) 23:03:44
ものすごいアホな勘違いをしていたかもしれません。
ちょっとチェックをしてみます。結果がわかったら報告します。
とりあえず有難うございました。
878
名前:
869
:2005/04/25(月) 23:06:58
>>870
いけるようです。サンクスです。
879
名前:
デフォルトの名無しさん
:2005/04/26(火) 00:44:46
>>799
どこん方言ば喋ろうが勝手たいね。別によかどが。
880
名前:
デフォルトの名無しさん
:2005/04/26(火) 01:51:01
CreateMutexと
if( GetLastError() == ERROR_ALREADY_EXISTS
の判断で2重起動を防止するときに、
関連付けた拡張子からのダブルクリック起動だと、
2重起動とみなしてくれないのですが、どうしてでしょうか?
(EXEを起動させたのと、拡張子をダブルクリック起動したのと共存してしまう)
おしえてください
881
名前:
863,865,877
:2005/04/26(火) 05:59:43
報告します。
問題のコールバック関数は、本物のウィンドウと関連付けされているわけではなくて、
ただ単に普通の関数として定義されているだけで、
グローバルに定義されているメインウィンドウのコールバック関数のメッセージプロシージャから
普通の関数として呼ばれ、メッセージを丸投げされてるだけでした。
本物の子ウィンドウを作っているわけではなく、
メインウィンドウのメッセージをただ丸ごともらって、
それを自前で処理しているだけでした。
CALLBACKって付けただけでなんかOSから勝手に呼ばれるものかと思ってたんで(この辺の動きはよく理解してないのですが。)、
これが付いてる関数をクラスのメンバにしただけでコンパイルエラーになるのかと思ってたのですが、
特にウィンドウとも関連付けず、普通の関数と同じように定義し(ただCALLBACKと付けてみるだけ)
呼んでみたら普通に呼べました。
ただ、疑問なのは、じゃあなぜわざわざこのソースは「CALLBACK」とつけているのだろう?ということです。
普通の関数として動いてる(使ってる)だけみたいなので、付ける必要がないと思うのですが、
付けるのと付けないのでは何が違うのでしょうか?
882
名前:
デフォルトの名無しさん
:2005/04/26(火) 08:20:22
>>880
普通そんな挙動はしない。
そんだけの情報では回答は得られないと思う。
883
名前:
デフォルトの名無しさん
:2005/04/26(火) 08:24:00
>>881
> ただ、疑問なのは、じゃあなぜわざわざこのソースは
> 「CALLBACK」とつけているのだろう?ということです。
つれない答えで悪いが、ソース書いた人に訊けないのん?
オレはコピペしたか何かでたまたま付いちゃってるだけ
だと思うが。
884
名前:
デフォルトの名無しさん
:2005/04/26(火) 08:28:29
せっかくVCというIDEがあるんだから
CALLBACKの定義を検索すればよかったのに
885
名前:
デフォルトの名無しさん
:2005/04/26(火) 09:42:52
>>880
そんな裏技があるのかと思い、拡張子関連付けて試したが見事に防止された。
Mutex生成する位置が悪いのでは?
886
名前:
デフォルトの名無しさん
:2005/04/26(火) 09:48:42
GetCommandLine()で得た文字列でmutex生成してると予想
887
名前:
デフォルトの名無しさん
:2005/04/26(火) 09:50:07
.NET初心者ですが、質問があるのでよろしくお願いします。
目的:VB.NETでドットプリンタのトレイ番号を取得する。
状況:.NETのPrinterSettingクラスを使用してプリンタ情報を取得しようとしたが、
プリンタ固有となるトレイ番号はすべて同一番号(Custom)扱いとなるため、実現不可能。
よってDeviceCapabilities関数のDC_BINSを使用することにし、VB6でテストを行ったところうまくいった。
しかし、VB.NETに乗せ変えたところ、出力バッファに値が入ってこない。
現在のソース:
’---宣言
Declare Function DeviceCapabilities Lib "winspool.drv" Alias "DeviceCapabilitiesA" ( _
ByVal pDevice As String, _
ByVal pPort As String, _
ByVal fwCapability As Long, _
ByVal pOutput As string, _
ByVal pDevMode As String) As Integer
Private Const DC_BINS As Integer = 6
888
名前:
887
:2005/04/26(火) 09:51:41
’---呼出
' バッファに必要なサイズを取得
intSupportedBinsNeeded = _
DeviceCapabilities(strPrinterDeviceName, strPrinterPortName, intDeviceCapability, vbNullString, vbNullString)
' バッファを確保
ReDim intSupportedBins(intSupportedBinsNeeded - 1)
' 使用できる給紙方法を取得
intWin32apiResultCode = DeviceCapabilities(strPrinterDeviceName, _
strPrinterPortName, _
intDeviceCapability, _
intSupportedBins(0).ToString, _
vbNullString)
API宣言時のpOutput、pDevModeはVBではAnyで宣言されていました。
給紙方法取得時のintSupportedBins(0).ToStringがおかしそうです。
暗黙的な変換が出来ないため、string型にして渡していますが意味がないような気がします。
Web等で調べ、いろいろ試しましたがどうも解決できません。
よろしくお願いします。
889
名前:
デフォルトの名無しさん
:2005/04/26(火) 10:01:51
>>887
こっちはWin32ネイティブのAPIスレだから.NETスレ行ったほうがよろし。
890
名前:
887
:2005/04/26(火) 12:49:43
わかりました。ありがとうございます。
お邪魔致しました。
891
名前:
デフォルトの名無しさん
:2005/04/26(火) 13:34:49
俺はMutexでのチェックは成功していてFindWindowで失敗している説を
唱えてみる。
>>880
現在開いているファイル名をCaptionに表示していないか?
んでもって、FindWindowで初期状態のCaptionで検索してないか?
892
名前:
デフォルトの名無しさん
:2005/04/26(火) 13:45:21
>>880
コードが間違っているか、別のEXEが動いている。
893
名前:
デフォルトの名無しさん
:2005/04/26(火) 18:25:27
クライアント領域に表示したグラフィックをビットマップファイルに保存する方法を教えてください。
894
名前:
デフォルトの名無しさん
:2005/04/26(火) 18:36:23
>>893
うまいことやる。
895
名前:
デフォルトの名無しさん
:2005/04/26(火) 18:44:33
>>893
それくらいググって解決できないようじゃきのこれないぞ。
896
名前:
デフォルトの名無しさん
:2005/04/26(火) 18:45:15
Alt + PrintScr
897
名前:
デフォルトの名無しさん
:2005/04/26(火) 18:56:27
この先生きのこる
898
名前:
デフォルトの名無しさん
:2005/04/26(火) 19:12:23
>>893
ttp://www.sm.rim.or.jp/~shishido/
きのこって下さい
899
名前:
デフォルトの名無しさん
:2005/04/26(火) 21:38:30
newで割り当てた配列をdeleteしてもメモリリークが凄まじいのですがなぜですか?
900
名前:
デフォルトの名無しさん
:2005/04/26(火) 21:39:34
delete[]。すれ違い。
901
名前:
デフォルトの名無しさん
:2005/04/26(火) 21:41:50
[]の付け忘れとかそんな低次元の話じゃねぇよタコ。お前真性のアホか?
そんなんだったらコンパイルエラーでわかるだろうがボケ
902
名前:
デフォルトの名無しさん
:2005/04/26(火) 21:53:10
そんなんでコンパイルエラーは出ませんよ。
903
名前:
デフォルトの名無しさん
:2005/04/26(火) 22:13:15
901 晒し age
904
名前:
デフォルトの名無しさん
:2005/04/26(火) 22:14:52
うるせぇっつーの。配列で割り当てる以外にnew関数はつかわねぇんだよ
905
名前:
デフォルトの名無しさん
:2005/04/26(火) 22:17:13
ポカーン
906
名前:
デフォルトの名無しさん
:2005/04/26(火) 22:17:26
つstd::vector
907
名前:
デフォルトの名無しさん
:2005/04/26(火) 22:17:32
うほっ!、いいキテガイ!
908
名前:
デフォルトの名無しさん
:2005/04/26(火) 22:34:14
クラスの配列とかじゃないことを祈る
909
名前:
デフォルトの名無しさん
:2005/04/26(火) 23:07:46
>>881
コールバックであるということを明示的にするためにあえてつけるという選択肢もある。
910
名前:
デフォルトの名無しさん
:2005/04/27(水) 00:03:05
急速にスレの質が低下してまいりました
911
名前:
デフォルトの名無しさん
:2005/04/27(水) 00:13:35
プログラムで最小化ボタンを無効にしたいんだけどどうすりゃいいの?
912
名前:
デフォルトの名無しさん
:2005/04/27(水) 00:32:13
>>911
超FAQ
GetSystemMenu
EnableMenuItem / DeleteMenu
913
名前:
デフォルトの名無しさん
:2005/04/27(水) 12:27:13
>>899
藻前のメモリ管理がおかしいから。
914
名前:
デフォルトの名無しさん
:2005/04/27(水) 15:37:50
もう解決したから今更出てくんなよwwwwwww
メモリ管理だってwwwwwwカスはmallocでも使ってろよwwwwww
915
名前:
デフォルトの名無しさん
:2005/04/27(水) 15:51:30
急速にスレの質が低下してまいりました
916
名前:
デフォルトの名無しさん
:2005/04/27(水) 16:02:04
>>904
>new関数
そうか、newは関数だったのか。(プ
>>914
>メモリ管理だって
>mallocでも使ってろよ
malloc()系しか管理が必要ないと思ってるの?(プ
917
名前:
デフォルトの名無しさん
:2005/04/27(水) 16:18:12
うわぁ・・・香ばしい・・・関数に突っ込む奴なんてはじめてみたwwwwwwww
918
名前:
デフォルトの名無しさん
:2005/04/27(水) 16:23:18
おまけにmalloc()系しか管理が必要ってなんだろwwwwwwwww
超意味不明wwwwwwwwwwwwwお前みたいカスにはmallocがお似合いってことなんだがwwwwwwwwwwwwwwwwwwwwwwwwwwww
919
名前:
デフォルトの名無しさん
:2005/04/27(水) 16:33:01
?#
mallocを使う場合の方が(自分で書く必要のある)メモリ管理コストが大きいわけだが。
920
名前:
デフォルトの名無しさん
:2005/04/27(水) 17:01:53
急速にスレの質が急速に急速に低下してまいりました急速に
921
名前:
デフォルトの名無しさん
:2005/04/27(水) 17:31:15
ペタワロスw
922
名前:
デフォルトの名無しさん
:2005/04/27(水) 17:42:04
ピコワロスw
923
名前:
デフォルトの名無しさん
:2005/04/27(水) 17:52:02
ヨクトワロスw
924
名前:
デフォルトの名無しさん
:2005/04/27(水) 17:52:56
>>918
あなたのこと 嫌いじゃないの 嘘じゃないわ ほんとよ
ラ・ウスラ・デラ・ギポン・デ・リルカ・ニョキニョキ ニョキニョキ
925
名前:
デフォルトの名無しさん
:2005/04/27(水) 18:03:49
>>917
「operator new」をどう訳すと「new関数」になる訳?
926
名前:
デフォルトの名無しさん
:2005/04/27(水) 18:37:03
リーテ・ラトバリタ・ウルス アリアロス・バル・ネトリール
927
名前:
デフォルトの名無しさん
:2005/04/27(水) 21:34:35
sizeof を関数といってるようなもんだな。
928
名前:
デフォルトの名無しさん
:2005/04/27(水) 21:41:37
>>899-927
おまいら全員スレ違い
あっちいけ(`Д´)彡
929
名前:
デフォルトの名無しさん
:2005/04/27(水) 21:43:47
>>928
どっち?
930
名前:
デフォルトの名無しさん
:2005/04/27(水) 21:44:05
俺のreturn関数が黙ってないぜ
931
名前:
デフォルトの名無しさん
:2005/04/27(水) 21:44:40
>>926
シイテ イウナラバ ウィルス
アリアマル バグ ナクナリーヌ
932
名前:
デフォルトの名無しさん
:2005/04/27(水) 22:38:26
リストビューにチェックボックスをつけました。
チェックボックスを操作しようと思ったのですがチェックボックスのハンドルの取得方法が分かりません。
GetDlgItemを使うのかと思いましたが引数がおかしいのか上手くいきませんでした。
どうすればいいかご教授お願いします。
933
名前:
デフォルトの名無しさん
:2005/04/27(水) 22:48:48
チェックボックス作成したときの戻り値をウィンドウハンドルに代入。
終わり
934
名前:
デフォルトの名無しさん
:2005/04/28(木) 02:12:33
>>927
operatorは実装をオーバーライド出来るが、sizeofはできないから
全然違う。
935
名前:
デフォルトの名無しさん
:2005/04/28(木) 02:14:11
俺のif関数をお見舞いするぞ
936
名前:
デフォルトの名無しさん
:2005/04/28(木) 11:12:59
>>932
うろ覚えだが、notify じゃないの。間違っていたらゴメン。
937
名前:
デフォルトの名無しさん
:2005/04/28(木) 11:58:09
CPUがいくつ搭載されているかを調べる方法を教えてください。できればそれがHTかどうかもわかるとよいのですが。
938
名前:
デフォルトの名無しさん
:2005/04/28(木) 12:05:11
>>937
アセンブリ命令。
939
名前:
デフォルトの名無しさん
:2005/04/28(木) 12:29:11
>>938
ありがとう。ブラスレに行ってみます
940
名前:
デフォルトの名無しさん
:2005/04/28(木) 13:01:20
>>937
GetSystemInfo
941
名前:
デフォルトの名無しさん
:2005/04/28(木) 13:53:14
OSの終了処理をメッセージをハンドリングしないで
確認する方法は無いでしょうか?
OSのステータスを取って来る関数を知りませんか?
OSはWindowsXPです。言語はCです。
ご指導のほど、どうか宜しくお願いします。
942
名前:
デフォルトの名無しさん
:2005/04/28(木) 14:10:33
>>941
何を確認したいの?
943
名前:
デフォルトの名無しさん
:2005/04/28(木) 14:11:22
ボタン(CreateWindow"BUTTON"で作る)で、
特定の色を透過する方法がありましたら教えてください。
944
名前:
デフォルトの名無しさん
:2005/04/28(木) 14:17:05
ボタン(CreateWindow"BUTTON"で作る、しかも透明)de.
945
名前:
943
:2005/04/28(木) 14:17:21
>>943
ボタンにビットマップを表示するときにです。
946
名前:
943
:2005/04/28(木) 14:18:28
>>944
すいません。詳細説明が足りませんでした。
947
名前:
941
:2005/04/28(木) 14:22:28
>>942
すばやいレスありがとうございます。
あるプロセスを監視し、そのプロセスがdownしたとき、
再起動をかけるするサービスを作成しています。
OS終了時にはそのプロセスがdownしてもNOPにしたいのです。
諸事情でwondowハンドルを持ちたくないのです。
948
名前:
デフォルトの名無しさん
:2005/04/28(木) 14:22:48
>>943
もう一度、一から日本語で説明汁!
949
名前:
デフォルトの名無しさん
:2005/04/28(木) 14:26:46
>>947
メッセージフックでいいんジャマイカ?
950
名前:
943
:2005/04/28(木) 14:28:04
>>948
分かりました。
VC、又はBCC、OSはMeでウィンドウズプログラムを作っています。
CreateWindowという関数を使い、その第一引数を"BUTTON"にすると、
ボタンを使う事が出来ると思いますが、そこにビットマップを表示するとき、
特定の色を透過して(抜き色にして)表示する方法を教えてください。
951
名前:
デフォルトの名無しさん
:2005/04/28(木) 14:35:41
>>950
検索したらそれらしいものがあったが?
【検索結果】
ttp://search.yahoo.co.jp/bin/query?p=SDK+%a5%dc%a5%bf%a5%f3+%a5%d3%a5%c3%a5%c8%a5%de%a5%c3%a5%d7&fr=top
【ボタンコントロール】
ttp://skamachi.gotdns.com/sdk3.html
952
名前:
デフォルトの名無しさん
:2005/04/28(木) 14:38:40
>>947
メッセージ処理が出来ない問題を解決した方が速いとおもう。
>>950
オーナードロー
953
名前:
943
:2005/04/28(木) 14:39:43
>>951
ありがとうございます。
自分は、「CreateWindow BUTTON 透過」で調べていました。
上げていただいた場所を調べてみたいと思います。
954
名前:
943
:2005/04/28(木) 14:44:29
>>952
ありがとうございます。そのヒントも参考にさせていただきます。
955
名前:
デフォルトの名無しさん
:2005/04/28(木) 14:48:09
説明不足がたりないぞ
956
名前:
941
:2005/04/28(木) 14:56:24
> 949 & 952
ありがとうございます。
スレッドきって、そこでメッセージを待たせることにしました。
感謝します。> ALL
957
名前:
デフォルトの名無しさん
:2005/04/28(木) 15:05:16
>>947
あるプロセスの方をサービスにして、自動再起動を有効にするとか。
958
名前:
941
:2005/04/28(木) 15:39:12
>>957
実は、「あるプロセス」はサービスで、自動再起動を有効にしても
再起動されないことがあるので、「あるプロセス」を再起動するサービスを
自作しているところです。
「あるプロセス」はバイナリ配布のプログラムで、なぜ、自動再起動が
出来ないのか、は追えませんでした。
959
名前:
デフォルトの名無しさん
:2005/04/28(木) 15:59:59
>>958
QueryServiceStatusExが失敗したときのエラーコードに
ERROR_SHUTDOWN_IN_PROGRESS
ってのがあるらしいけど。参考までに。
960
名前:
デフォルトの名無しさん
:2005/04/28(木) 16:42:18
>>940
GetSystemInfoでCPUの機能の有無って取れたっけ?
CPUID命令で取るのが一般的な気がするが‥‥
961
名前:
941
:2005/04/28(木) 16:53:51
>>959
ありがとうございます。
QueryServiceStatusEx()自体知らなかったので、
CreateToolhelp32Snapshot()から引っ張ってきて
監視してました。
サービスのステータスを把握する方法から検討し直して
みたいと思います。
962
名前:
デフォルトの名無しさん
:2005/04/28(木) 17:56:30
サービスなら、
RegisterServiceCtrlHandlerExで、
SERVICE_CONTROL_SHUTDOWN
がとれるんじゃないのか?
963
名前:
デフォルトの名無しさん
:2005/04/28(木) 19:05:02
ATLベースのサービスを作って、その中でスレッドを起動してメールスロットを作ってあります。
他のプロセスからそのメールスロットを開きに行くと、アクセス拒否になってしまいます。
ググってそれっぽい事もしてみたのですが(スレッドやメールスロットのSAの設定)、完全に行き詰まってしまいました。
どなたか、アドバイスお願いします。
964
名前:
デフォルトの名無しさん
:2005/04/28(木) 19:19:49
>>963
ユーザ権限とかの問題じゃないの?
サービスのユーザと通常のプロセスのユーザは違うはずだぞ?
965
名前:
デフォルトの名無しさん
:2005/04/28(木) 19:22:08
>>964
たぶんそのあたりだと思うのですが、どこのどの権限をどうやっていじれば良いがわからんとです…
966
名前:
デフォルトの名無しさん
:2005/04/28(木) 19:24:10
駆動しているユーザが違うのでないの?
サービスがLocalServiceで、クライアントが一般ユーザとかさ。
そのあたりを、SECURITY_DECSRIPTERでなんとしないといけない。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16392&forum=7
967
名前:
デフォルトの名無しさん
:2005/04/28(木) 20:50:02
次スレはテンプレで注意しておいてくれ。
・質問者は、正しい答えが返ってこなくても暴れないこと
・スレ住人は、質問者をわざと困惑させるのを楽しむのは慎むこと。
968
名前:
デフォルトの名無しさん
:2005/04/28(木) 21:27:44
>>967
2つとも「Why?」なんですけど。何が悪いの?
969
名前:
デフォルトの名無しさん
:2005/04/28(木) 21:32:55
まともな答えが返ってこない場合は質問の仕方が悪いことが多い。
970
名前:
デフォルトの名無しさん
:2005/04/28(木) 21:58:58
>>969
逆も多いな。
971
名前:
デフォルトの名無しさん
:2005/04/28(木) 22:03:37
悪い答えしか返ってこない場合は質問の仕方がまともなことが多い?
972
名前:
デフォルトの名無しさん
:2005/04/28(木) 22:15:44
全部春厨のせいです
973
名前:
デフォルトの名無しさん
:2005/04/28(木) 22:23:20
>>960
IsProcessorFeaturePresent()
ってのがあるよ。
974
名前:
デフォルトの名無しさん
:2005/04/29(金) 02:47:41
お願いします。ディスク上にないファイル名において
拡張子に対応するアイコンを動的に取得したいのですが、
ExtractAssociatedIcon()やSHGetFileInfo()は、ディスク上に
実在するファイルでないと拡張子があってもアイコンを返してくれません。
そこを解決するときに、
作業用の空ファイルをディスク上に作ってそれを経由して取得するのと
レジストリの拡張子のエントリからappIDやshell登録のopenキーを探索して
実行ファイルかDLLを特定し、それからExtractIconで取得するという長い方法では
みなさんではどちらを使いますか?
975
名前:
デフォルトの名無しさん
:2005/04/29(金) 03:44:06
>>974
どちらも使わないに一票
http://forums.belution.com/ja/vc/000/024/78s.shtml
976
名前:
デフォルトの名無しさん
:2005/04/29(金) 04:58:45
>>974
おお!貴重な情報をどうもありがとうございます。
できました&すごく助かりました。
977
名前:
デフォルトの名無しさん
:2005/04/29(金) 04:59:32
アンカーミス
>>974
×
>>975
○
978
名前:
978
:2005/04/29(金) 12:07:03
御願いです、どなたか助けて下さい・・・。
単純にAlphaBlend関数を使おうとしているのですが
[CODE error LNK2019: 未解決の外部シンボル
__imp__AlphaBlend@44 が関数 "long __stdcall WindowProc
(struct HWND__ *,unsigned int,unsigned int,long)"
(?WindowProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。]
[CODE fatal error LNK1120: 外部参照 1 が未解決です。]
というエラーがでてしまいます。
ネット上で「VC++.6の場合はmsimg32.libをリンカで設定〜」などという事が書かれている
のは発見したのですが、私の使っているVC++.NETではその作業は必要ない、
という書き込みも発見しました。
それでも一応設定してみようとしたのですが、タブを探し回っても「オブジェクト/ライブラリモジュール」
なんて欄はでてこないのです。
教本をみながらコードを打っている完全初心者です。
お教え下さい・・。
979
名前:
デフォルトの名無しさん
:2005/04/29(金) 12:32:28
>>978
それは明らかにmsimg32.libをリンクしてないから出るメッセージだ。
.NET持ってないから知らんがヘルプ見て設定するところを探せ。
980
名前:
978
:2005/04/29(金) 13:19:30
979さんのおかげで、「リンクしてない」という原因理由に自身がもてました。
いろいろ試した結果、
「プロジェクト」
↓
「(プロジェクト名)のプロパティ」
↓
ダイアログボックスの中の「リンク:入力」
↓
「追加依存のファイル」欄に「msimg32.lib」と入力
で解決しました。
協力ありがとうございます。
981
名前:
デフォルトの名無しさん
:2005/04/29(金) 16:14:36
HMODULE(0)という表記を見かけたんですが、これはどういう意味なんでしょうか?
HMODULEに引数は無かったと思うのですが。
982
名前:
デフォルトの名無しさん
:2005/04/29(金) 16:31:25
>>981
ゼロをHMODULE型にキャストしてんじゃねーの?
C++だとこういう書き方でもキャストになるんだよな。
983
名前:
デフォルトの名無しさん
:2005/04/29(金) 16:32:44
>>981
static_cast<HMODULE>(0)って意味かな?
984
名前:
デフォルトの名無しさん
:2005/04/29(金) 17:11:32
次スレ
Win32API質問箱 Build31
http://pc8.2ch.net/test/read.cgi/tech/1114762194/l50
985
名前:
デフォルトの名無しさん
:2005/04/29(金) 17:24:03
>>981
0で初期化されたHMODULE型の一時オブジェクトの生成
986
名前:
982
:2005/04/29(金) 17:28:18
>>985
おお。いかにもC++的抽象化された概念。
どうにも俺はCやアセンブラの時代から抜け出せてないカンジ。
「C++の設計と進化」を熟読中。
■過去ログ置き場に戻る■
1-
前250
最新50
DAT2HTML
0.33f Converted.