Win32 Aplicationプログラミング

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
無いので立ててみました。

関連スレ
Win32API 質問箱 Build8
http://pc2.2ch.net/test/read.cgi/tech/1040964626/l50
2デフォルトの名無しさん:03/02/03 19:24
スレのApplicationの綴り間違った・・・鬱。
その関連スレで何か不満でもあるの?
41:03/02/03 19:33
>>3
ごめん・・・。
削除依頼出してくる。
あとここもね。

Windows Programing for C/C++(Not MFC)
http://pc2.2ch.net/test/read.cgi/tech/1018239290/
削除される前に

  ∧_∧
 ( ´∀`)< ぬるぽ
お勧め★Wndowsクラスライブラリは?(MFC以外)
http://pc2.2ch.net/test/read.cgi/tech/1027430282/
これも、、、
81:03/02/03 19:37
おかしい。。。
何度やっても削除依頼が出来ない・・・。
>>5
お前がやれ。
>>8
アドレスの pc2 を pc3 にしる。
109:03/02/03 19:54
せっかく教えてやったのに 1 が帰ってこない・・・

鬱だ・・・
回線切って首吊って死のう・・・
11デフォルトの名無しさん:03/02/10 18:18
前スレ:
Win32API 質問箱 Build8
http://pc2.2ch.net/test/read.cgi/tech/1040964626/l50
12デフォルトの名無しさん:03/02/10 18:23
Windows上で、NICにIPアドレスを設定するにはどうしたらよいでしょう?
情報へのポインタでもよいですので、教えてください。
よろしくお願いします。
>12

  ∧_∧
 ( ´∀`)< ぬるぽ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/ ←>>13
 (_フ彡        /
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/ ←>>6
 (_フ彡        /
  ∧_∧
 ( ´∀`)
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/  
 (_フ彡        /  ←>>16
return Win32Application->GetInstance();
1912:03/02/10 20:42
真剣に質問しているのに・・・。ヽ(`Д´)ノウワァァァン
>>19
まあ、ここを見ていた人には誰にもわからなかったってこった。
>>20
んなわけない
とかいいつつ自分は知らなかったけどな

>>19
開発環境すら書かずに真剣に質問してしまったのはわかったけど、
真剣に調べたの?
NT系ならIP Helper APIあたりかね AddIPAddressとかそれっぽい
Win9x系はAPIは無いからレジストリか何かを変更して再起動だと思う

ぬるぽを叩くのはお約束らしいから嫌ならスルーしとけ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/  
 (_フ彡        /  ←>>21
>>12
コンパネ開いて、ネットワークアイコンをダブルクリックして...
アプリから簡単に変えられたらそれはそれで困るような……
25デフォルトの名無しさん:03/02/11 02:00
今CreateDIBSectionでBITMAPINFO構造体が得られたとします。
この状態からBITMAPINFOHEADERを作るにはどうしたらいいですか?
次の3つが分かりません
bfSize = sizeof(BITMAPINFOHEADER) + sizeof(BITMAPINFO) + ??;
bfOffBits = ??
bfOffBits以下のメモリのサイズ。(ファイルに書き出すため。あとアドレスも何処だろう。。)

宜しく教えてください。
27デフォルトの名無しさん:03/02/11 02:27
>>26ありがd。でも英語わかりましぇ〜ん。。
とりあえず以下の様にやってみました。色が化けました。

BITMAPFILEHEADER BitmapFileHeader;
ZeroMemory(&BitmapFileHeader, sizeof(BitmapFileHeader));
BitmapFileHeader.bfType = WORD(0x4D42);
BitmapFileHeader.bfSize = sizeof(BITMAPINFOHEADER) + sizeof(BITMAPINFO) + sizeof(RGBQUAD) + BitmapInfo.bmiHeader.biSizeImage;
BitmapFileHeader.bfOffBits = sizeof(BITMAPINFOHEADER) + sizeof(BITMAPINFO) + sizeof(RGBQUAD);

DWORD dwBytes;
WriteFile(hFile, &BitmapFileHeader, sizeof(BITMAPFILEHEADER) , &dwBytes, NULL);
WriteFile(hFile, &BitmapInfo , sizeof(BITMAPINFO) + sizeof(RGBQUAD), &dwBytes, NULL);
WriteFile(hFile, buffer , BitmapInfo.bmiHeader.biSizeImage , &dwBytes, NULL);
>BitmapFileHeader.bfSize = sizeof(BITMAPINFOHEADER) + sizeof(BITMAPINFO) + sizeof(RGBQUAD)・・・
sizeof(BITMAPINFOHEADER)じゃなくてsizeof(BITMAPFILEHEADER)だった。。鬱
今 TrackPopupMenu[Ex] を使ってショートカットメニューを表示しているんですが
画面中央付近に少し長めのメニューを表示すると一部が画面から飛び出してしまいます。
こういった時にメニューが画面におさまるよう移動してやるにはどうすればよいのでしょうか。
ご存じの方いらっしゃいましたらよろしくお願いします。
30デフォルトの名無しさん:03/02/11 09:08
>>21
ありがとうございます。netshを呼び出すことにしますた。
非アクティブなプログラムから
アクティブなプログラムへキーボードの状態を
設定したり収得したりしたいのですが
何かいいAPIありますか?
>31
言いたいことがよくわからんが
ttp://kumei.ne.jp/c_lang/sdk2/sdk_161.htm
このへんか?
本家の次スレできてるね
本家age
35デフォルトの名無しさん:03/02/11 17:35
まあちがえた
C++のDLLからクラスを動的にインポートすることは出来ないのでしょうか?
Loadlibraryでロードしても関数を呼び出す方法しか見当たらないのですが
ヘッダもライブラリも無いので何とか動的にリンクしたいのですが
えーっとそれから
環境はVC7.0でwin32です
>>36
>ヘッダもライブラリも無いので何とか動的にリンクしたいのですが
無茶いうな
基本的に、ヘッダか、それに準じる情報が無ければ DLL なんて使用不可なわけだが
明示的リンクするってのが前提みたいだから情報持ってるんじゃない?
>>36
C++はABI(aplication binary interface)を規定していない言語だから
結構地獄を見ると思うよ。というか、多分無理だろ。
そもそもその「C++のDLL」は、自分が使っているのと
同じコンパイラでコンパイルされたものなのかね?
クラス上のメンバのレイアウト、vtblのレイアウト、name manglingの
方式等がコンパイラによって違うので、端的に云えば違うC++コンパイラ
でコンパイルされたC++のオブジェクトコードは使えない。
それを踏まえた上で云うと、
・ヘッダが提供されていない→自分で作るってことか?
クラス定義やインライン関数の実装を自分で復元して(要は自分でヘッダを
書いて)コンパイラに教えてやらなければならない。C++のクラスは構造体
をベースに実装されているから、アラインメントにも注意すること。
・↑で書いたメンバ関数のシグニチャは元の(DLLの)ものと完璧に適合しなければ
ならない。要は同じ名前にmanglingされない限り、ローダはそのメンバ関数を
見つけることができない
などなど。C++には多重継承、仮想継承、例外といった複雑な構造物が存在するので
実際にはこんなものではすまないはずだ。
構造体のアラインメントや関数の呼び出し規約に気をつければいい
C(またはそれに類する「伝統的な」ABIを利用する言語群)とは訳が違う。
Cならヘッダなんぞ無くても自分で用意するのは簡単なんだがな。

C++とDLLの相性があまりにも良くない(C++でしか使えないだけではなく
そのコンパイラでしか使えない)のが、COMのような仕組みが導入された
理由の一つだ。
>>39
明示的リンクとは何の話で、誰が何の情報を持っていると言うんだ?
>>41
本人だよ。
黙っとけよ。
>>42
ちゃんと会話してくれって言われたこと無いか?
>>43
言われてても気づいてないと思われ
>>32
たぶんそれかも知れないです。
どうもありがとうございますた。
?glutBitmapCharacter@@YAXPAXH@Z
みたいな状態から引数や戻り値の型
を解読する方法を教えてください
なるほど
通報しますた
50デフォルトの名無しさん:03/03/20 00:04
オーナードローボタンで、背景色を「無い」状態にする方法って分かりますか?
オーナードローじゃなくてもいいんですが。。。

SetClassLong( hwnd_button, GCL_HBRBACKGROUND, NULL);

じゃ戻り値は成功でも結果は変わってませんでした。。。

MoveWindow()でボタンの大きさ変えた時、背景色で一旦塗ってからWM_DRAWITEM
が呼ばれるようで、背景色を塗るのが一瞬見えてちらついてイヤなんです。
>>50
MoveWindowの最後の引数をFALSEにしてみる
それが駄目なら、WM_CTLCOLORBTNでGetStockObject(HOLLOW_BRUSH)を返してみる
それも駄目だったら、サブクラス化してWM_ERASEBKGNDで何もせずにTRUEを返す、かな。
52山崎渉:03/04/17 15:52
(^^)
53山崎渉:03/05/28 13:21
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
54毒電波@宣戦布告:03/06/08 09:00
来週最終日に秩序の盾を発行します。
頭の良いあなたなら回避出来るはずですけどね。
己の傲慢、増長を悔いてください。
地獄の底まで叩き落とします。
55_:03/06/08 09:07
56無料動画直リン:03/06/08 09:13
アプリから簡単に変えられたらそれはそれで困るような……
58デフォルトの名無しさん:03/06/27 00:14
スレタイ大きく出たなぁw
WindowsXPでIndeo5がインストールされてない環境がありますよね。
それを判定するにはどうしたらいいのでしょうか?
60デフォルトの名無しさん:03/07/10 18:44
win2000のタスクで登録されてるタスクってレジストリで設定内容触れますか?
スレのApplicationの綴り間違った・・・鬱。
62山崎 渉:03/08/02 02:18
(^^)
63山崎 渉
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン