[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/31 07:10 / Filesize : 149 KB / Number-of Response : 697
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build86



1 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:23:00 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。
「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ!

過去スレ、関連リンクは>>2-10くらい。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版( msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

- Win32API質問箱 wiki
wiki.livedoor.jp/program1/d/FrontPage

Win32API質問箱 Build85
pc12.2ch.net/test/read.cgi/tech/1262430441/

643 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 12:01:46 ]
んだからプロセス同士の相互干渉連係を前提としていた
古き良きWin16APIに対し、原則相互不干渉を前提としつつも、
多種多様なIPCを用いて極力Wn16APIとの連続性を保持し
ようとするWin32APIの話題の原点そのものなんだが..
ついていけないワカい人が多いみたいなんで取り敢え
ずクローズね。

644 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 12:26:30 ]
>>642
後付けになってごめんね
それが俺その時学生で試しにやってみたらできたから学生全員がアクセスできてたと思う
一応ゼミの先生と事務所?システム管理?の所には報告したから大丈夫と思うけど

アクセス制限かありがとう


645 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:16:53 ]
"MSゴシック"で表示しても、『等幅』ではないのですが、なぜでしょう?
エディッタ上では罫線も縦横きれいに表示されるのですが、、、

646 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:48:07 ]
"MS ゴシック"

647 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 16:31:55 ]
>>410
つうか、なんで1秒後ごとにクリップボード消去してるのかわからん
クリップボードコピーした瞬間にクリップボード消去すればいいじゃん
負荷かからないし

648 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 16:42:29 ]
>>638>>643
ずっと変な改行してるバカ
お前話題を理解できてなさ過ぎて邪魔

649 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 17:31:33 ]
将来著作権や特許などが全部廃止されるときが必ず来るね

650 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 18:00:40 ]
>>643
お前懐古したいだけだろ?
少しは空気嫁

651 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 22:07:23 ]
んだからアプリのウィンドウを同時に沢山作って
連係して使うことが出来るようにはなったけど
逆にそれを一部制限して使うことは出来なくなって
しまった。パワーユーザーが自分で使う分には
困らないがそうでない人にそうなれるように教え
なければならない(つまり引き継ぎたい)時には
エラク苦労するねってことだろ。
クリップボードを使わせたく無いとかD&Dを禁止
したいとかはそのあたりから出てきてるんじゃね?
APIスレの住人はそういう苦労は少ないだろけど



652 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:06:35 ]
クリップボードを使うな、でOK。
引継ぎとかそういう話に持っていくならね。

653 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:10:41 ]
クリップボード監視して、テキストだったら全て「うんこ」にしちゃえ

654 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:11:07 ]
>>651
お前懐古したいだけだろ?
少しは空気嫁

655 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:11:53 ]
>>651
              ∩___∩
            /  ノ   \  ヽ
            | ●    ● |   なにマジになってんの?
          彡   (_●_)    ミ
           /、   |∪|    ,\   このAPIやるから帰れよ
          /.|     ヽノ    | ヽ
       ,,/-―ー-、, --、   .|_,|
    r-、,'''";;:;;:;::;;;;:;;::;:;:;;::;:;`'- /_,l,,__ )
   |,,ノ;;:;r'" ̄ ゙̄^"`Y'-、;;;::;:;::;:;:;:;::;:|
    .ヽ,′ ExitWindowsEx"";;;;;⌒゙')
     ´`゙'''''''''''‐-‐'"`‐-‐'"゛  `゙´
              |  .‖ /
            ("___|_`つ

656 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:14:01 ]
話はそう単純なもんじゃないってのは
Cのライブラリ関数使うのと同じ感覚じゃ、APIなんて
使えたもんじゃない、一筋縄じゃいかない
ってのと同じ

657 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:21:53 ]
>>651が何を言ってるのかさっぱり分からない

658 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:25:20 ]
何も言ってないに等しいから気にすんな

659 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 04:02:37 ]
鬼才すぐるw

660 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 04:29:20 ]
>>410
顔真っ赤すぎ

というか何の教師やってるのかしらんがどうせITの負け組みだろw
タスクバーのプロセス隠蔽なんて少し調べればわかるだろうに

661 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 04:31:55 ]
教師の癖に文章がやたら・・・・



662 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 04:35:39 ]
なんでまた今更半月前のレスに顔を真っ赤にしてる奴らが
湧いてきたよくわからんね。

663 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 05:36:25 ]
>>660
それプロセス隠蔽って言わない

664 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 12:06:40 ]
馬鹿な教師が居るらしいという肴があれば、それで十分宴会は開ける

665 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 12:42:55 ]
宴会まではいかないなあ。

666 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 12:56:21 ]
Windows APIってどの位覚えればプログラミングが
ラクになるんでしょうか?先輩に聞いたら
「10個程度覚えれば後は都度調べればいいけど0個じゃ辛い」
といってるんですが信じていいでしょうか?

667 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 13:07:55 ]
別に都度ググってもいいです
ただ、どのDLLがどの機能を管轄しているかくらいは知っておくといいかもしれません

/*
6個でウィンドウ表示

RegisterClassEx
CreateWindowEx
GetMessage
TranslateMessage
DispatchMessage
PostQuitMessage
*/

668 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 13:14:10 ]
10個じゃきついだろ・・・。

669 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 13:18:00 ]
ググるためにもある程度体系がわかってれば良い

670 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 13:36:32 ]
Windows API を覚えても
Windowsアプリを作ったり、Windowsの仕組みを覚えられるだけで
あまりプログラミングは楽にならない

でも画像処理とかは楽になるかもしれない

671 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:12:45 ]
構造体とメッセージもセットで



672 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:34:06 ]
おばけのQちゃんの絵描き歌をシミュレートして
繰り返しアニメーション表示するアプリをAPIだけで組みたい
んだけどどう組めばいいですか?

673 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:36:15 ]
まずウィンドウクラスを登録します

674 名前:672 mailto:sage [2010/03/14(日) 14:38:25 ]
マウスで画面のサイズを変えた際に、縦横の比率を
変えないようにし、書かれているアニメもそれに
応じて(途中迄でも)大きさを変えたいです。

675 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:40:13 ]
ウィンドウを表示して、その上に描画していけばいい。
で、ウィンドウサイズが変更されようとしているときに、縦横比率を変えないように変更して、
ウィンドウサイズに合わせて描画サイズを変えればいい。

676 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:43:20 ]
演奏してる曲と同期してアニメーションさせるって話なら少し面倒。

677 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:46:58 ]
タイミング固定とかならそれほどでもないだろうけどね。

678 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:47:55 ]
歌詞ファイルみたいなフォーマットを決めてやるとか

679 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 20:10:24 ]
マルチコア環境でプロセス毎のCPU使用率を正しく取得するにはどうすればよいのでしょう?

PdhGetFormattedCounterValueで取得してみたところ、取得できるCPU使用率は
タスクマネージャで確認できるCPU使用率の2倍になっています(2コアだから?)。
ということは取得できるCPU使用率の最大値は200となるはずと思っていたのですが
何故か100までしか取得できませんでした。(100以上は100として取得できる模様)

ちなみにWindows付属のパフォーマンスモニターで確認してみると、こちらも
タスクマネージャの2倍の値が表示されていますが、100以上の値もきっちり正しく表示されます。

取得できる上限を200にする方法か、タスクマネージャで表示されている値を
簡単に取得できる方法はありませんか?


680 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 20:16:50 ]
ちょっと取得してる部分のコード晒してみろよ

681 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 20:30:47 ]
このような感じです。

// オープン
HQUERY hQuery;
PdhOpenQuery(NULL,0,&hQuery);

// カウンタ追加
HCOUNTER hCounter;
std::string str = "\\Process(GOM)\\% Processor Time";
PdhAddCounter(hQuery, str.c_str(), 0, &hCounter );

// 3秒間の負荷計測
PdhCollectQueryData(hQuery);
Sleep(3000);
PdhCollectQueryData(hQuery);

// 計測結果取得
PDH_FMT_COUNTERVALUE fntValue;
PdhGetFormattedCounterValue(hCounter, PDH_FMT_LONG, NULL, &fntValue);

// クローズ
PdhCloseQuery( m_hQuery );

std::cout << fntValue.longValue << std::endl;



682 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 20:42:15 ]
>>666
俺なんて引数も戻り値もちゃんと覚えているのは10個もない。
ただ、どんなAPIが「存在するか」はだいたい把握している。

683 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 21:16:25 ]
>>681
PdhGetFormattedCounterValueのヘルプを見てみたが、
dwFormatにPDH_FMT_NOCAP100フラグが無いと、
100を超える値は全て100で返る仕様っぽいぞ。
家はシングルコアだから試しようが無いけどなorz

684 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 21:29:01 ]
>>683
おっしゃるとおりでした!
PDH_FMT_NOCAP100フラグを立てると100以上の値も取得できるようになりました。
ありがとうございます!

685 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 22:00:40 ]
>>666
Win32APIの目次みたいな一覧が色んな所にあるから
一通り流し読む
引数とかは一切無視
関数名と1行説明だけ読む
そんでおわり

その先輩はちょっと若いな
あんま意味の無い助言

686 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 13:52:55 ]
昔Win32本といえばpetzoldだったけどあの本も今や.net本になってしもうたな

687 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 14:53:54 ]
グローバルフック使ってプログラム側からキーボード操作したいんだけど、どうすればいいのか全然分からん
検索ワードだけでいいから誰か教えておくれ

688 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 14:57:59 ]
msdn.microsoft.com/ja-jp/library/cc429971.aspx
大して難しくないような


まあどうすればいいか全然分からんって言う奴は
はじめからやる気がないんですけどね

689 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 15:14:17 ]
ウィンドウメッセージを使ってるのかGetAsyncKeyState()系を使うのかで
挙動が違ってくるし、
突き詰めたらそんなに簡単な話でもないと思うけど。

690 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 15:24:05 ]
ありがと
でもググっても監視する方しか分かんないや

691 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 16:22:08 ]
送るだけならフックの必要は無いから見つからないのも当然



692 名前:デフォルトの名無しさん [2010/03/15(月) 20:19:51 ]
シリアル通信について教えてください。
「WaitCommEvent」はタイムアウトで戻す事は出来ないんでしょうか?
タイムアウトはRead,Writeのみなんでしょうか?


693 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 21:59:48 ]
非同期通信に対応してるのだから、勝手にタイムアウトでも何でもすればいい。

694 名前:692 [2010/03/15(月) 22:19:59 ]
そのタイムアウトさせるのを、監視するスレッドを自前で作る必要があるのか
SetCommTimeoutsみたいな設定で、WaitCommEventからイベント無しで
戻せるのか知りたいんです。

695 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 22:52:42 ]
>>692
昔やった方法
・CreateFile()でPENDINGで開く
・WaitCommEvent()でイベントオブジェクトとともに渡す→すぐ返る→戻り値0、GetLastError()がPENDINGなら正常
・WaitForMultipleObjects()に指定し、でタイムアウトつきで待つ

スレッド化してるからWait〜で他のイベントオブジェクトもついでに待ってたな。

ググればどこかにサンプルがあるはず。自力で書けなかった記憶があるから。
特にPENDINGを使用する箇所

696 名前:692 mailto:sage [2010/03/15(月) 23:23:06 ]
>>695
PENDINGとはオーバーラップド構造体云々ってやつですか?
良く分からないので明日ヘルプ見ながら実機でちまちま試してみます、
有難うございました






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<149KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef