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


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

Win32API質問箱 Build65



1 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 15:51:24 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。

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

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

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

Win32API質問箱 Build64
pc11.2ch.net/test/read.cgi/tech/1207099291/

445 名前:デフォルトの名無しさん [2008/04/30(水) 17:13:14 ]
いきなりですが、質問です。
Office Word にAPIを使って文字を入力したい(普通の文章)のですが、
たとえば、ExcelのVBAを使用して、sheetのセルに入力された文字列
を自動的にコピーして貼り付ける(でなくてもイイんですが)にはsendmessageでWM_SETTEXTや、
WM_PASTEなどを試しましたが上手くいきませんでした。

ネット検索でよく出てくる、メモ帳へのSendmessageでは上手くいきましたが
Wordだと上手くいきません。
フリーソフトを使用して、_WwG(ウインドウの位置も視覚的に捉えられるソフト
なので、キャレット?のある部分)というクラス名まではたどり着き、10進の
ウインドウハンドルを直接入力して、試していますがダメでした。

これはSendmessageの送り先が間違っているのか、
そもそも、この方法が通用しないものなのかわかりません。

ここ数日間まったくお手上げ状態です。。。

ちなみにSendKeysなど、keyストロークを送るものではなく、
あくまでも、テキストを直接的に送ることを前提にしています。

このWordに対しての送信?が上手く行った場合、他のソフト(Officeアプリではない)
への応用を考えており、その練習用としてなのですが、
何か汎用的な方法があるものなのでしょうか?

また、メモ帳で上手くいって、Wordで上手くいかない理由とは
(いろいろあるとは思いますが)なんでしょうか?

どなたかご教授ねがいます。

長文申し訳ありません。


446 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:21:47 ]
>>445
Office系は独自コントロールだからWM_**系は使えないよ
OLEオートメーションとか使うべし

447 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:26:08 ]
>>445
教授できるほどAPIに詳しくはありませんが、Office系の他にもゲーム類は受け付けない可能性が高そうですね。
ターゲットアプリが判っているのなら、そのアプリでテストする方が無難でしょう。

448 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:31:40 ]
>>443,444
どうもありがとうございます。

それと、もうひとつ質問があってあるウィンドウからスタイルを数値として取得したときに
それと対応する文字列?(例えば54310000なら
WS_CHILDWINDOW
WS_VISIBLE
WS_CLIPSIBLINGS
WS_VSCROLL
WS_HSCROLL
WS_MAXIMIZEBOX
を)
を取得したいと思っているのですがどのようにやればいいのでしょうか?
教えていただければ幸いです。
よろしくお願いいたします。


449 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:36:42 ]
spy++

450 名前:445 [2008/04/30(水) 17:40:28 ]
>>446
>>447

どうもありがとうございます。

OLEオートメーションを勉強して使ってみます。


451 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:43:12 ]
>>450
随分と>447に対して失礼なレスだな。無視するならアンカー書かなきゃいいじゃん。

452 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:46:21 ]
>>451
「どうもありがとうございます。」だけが>>447へのレスだろ

453 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:47:14 ]
>>433
ぱらめーた覚えてるって自慢されてもなあ。
APIなんか一度サブクラス化してから使うから、パラメータなんかいちいち覚えないよ。




454 名前: [2008/04/30(水) 17:49:04 ]
Pythonで行列の計算ってどうやればいいんですか?


455 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:49:35 ]
>>448
ビットが立ってるかどうか調べて、自力でやるしかない。

456 名前:445 [2008/04/30(水) 17:52:44 ]
>>451

申し訳ありません。

実は、本当に操作したいアプリに対しても同じ方法で試していますが
ダメでした。そのアプリは業務用で下手をするとマズいので、
似たようなインターフェイス(MDIとか)だったので先にWordで練習しようかと。。

447さん すいませんでした。

457 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:55:41 ]
>>455
やはりそのような方法しかないのですね。
どうもありがとうございました。

458 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:55:43 ]
それでWordでオートメーションって練習になる気がしない。
対象のアプリケーションがオートメーションを持っている可能性なんて
限り無く0に近そう。

459 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:58:21 ]
文字列つっこみたいならWM_CHARとかWM_KEY*とかのほうがまだ対応してそうだが。

460 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:58:54 ]
限り無く0に近いというかゼロだろ
外部から操作されることを想定していないソフトだとまず有り得ない

461 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 18:00:46 ]
>>451
みたいなんは気にしなくておk

462 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 18:02:17 ]
ここはSendInputだな。

463 名前:447 mailto:sage [2008/04/30(水) 18:14:08 ]
別に私はあなたに教授も教示もしたわけじゃないので謝罪は不要ですが。

見た目は似たようなインターフェースでも、中身は全然違う可能性もあります。
wordで巧くいってもそのアプリで巧くいく保障にはなりませんし、業務用で下手をすると拙いのなら
もしかしたら、そうやってメッセージを調べることでリバースエンジニアリングととられて契約違反とされるかもしれませんね。



464 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 18:22:17 ]
>>463
最後の3行は余計

誰もそんな事は聞いてないし、質問者自身が「下手をするとマズい」といってるだろう
そういうレスが雑談の元になってるのに少しは自重しろ

465 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 18:37:04 ]
それを言うなら>463は全て不要。勿論、>464-465でさえも。

466 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 18:57:49 ]
>>466 は必要だけどな。

467 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 18:59:57 ]
Win32API質問箱改め雑談箱 Build65 まとめ

>>12-29
Win32APIの将来性について(雑談)
>>30-53
Win32APIの設計思想と命名について(雑談)
>>54-100
どこまでをWin32APIとするか(議論、雑談) ※結論は>>61-62
>>101-112
「話を理解してない馬鹿」(雑談、荒らし)
>>126-136
なぜ.NETでWin32APIを使うのか(雑談)
>>215-235
MAX_PATHについて(雑談)
>>324-340
sndPlaySoundと音とび(雑談)
>>400-421
真のプログラマと「知らないならレスしないでください」(雑談、荒らし)
>>424-432
今時Win32APIなんて雑談しかない(雑談)
>>433-441
引数を覚える必要はあるか?(雑談)
>>463-
雑談の雑談(仮題)

468 名前:デフォルトの名無しさん [2008/04/30(水) 19:07:12 ]
質問箱もbuild65で終焉か・・・
荒らしも酷いことしやがる

469 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:08:41 ]
>>467


470 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 20:00:22 ]
自演乙

471 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 20:02:06 ]
終わらんよ
俺が次スレを立てる限り

472 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 20:11:50 ]
こうして雑談は続く

473 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 20:16:19 ]
適当に雑談するにはもってこいのWin32APIw



474 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 20:52:34 ]
まあ技術の進歩が止まって渇れてるから雑談だらけなのは仕方ないな
DOSやMSXなんかと同じ

475 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 22:09:55 ]
レスが流れたので一応
>>378
>>416

476 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 00:56:35 ]
こうしてこのスレはくそみそな結果に終わるのでした

477 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 00:58:18 ]
デュアルやクアッドプロセッサ搭載のPCでは,
各プロセスにどのCPUコアを割り当てるか,タスクマネージャで設定できますが,
これと同じようなことが出来るAPIってありますか?

プロセスが使用するCPUコアを指定したいのです。

478 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 01:04:18 ]
SetProcessAffinityMask かな。

479 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 01:10:54 ]
>>478
おおまさに探し求めていたものですありがと〜

480 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:38:05 ]
大政小政

481 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:13:00 ]
CSVのデータを読み込みたいのですが
strtok以外によい方法はありませんか?

482 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:17:09 ]
まあ、strchr を使うとか、1文字ずつ普通に比較して行くとか、
そんなところじゃね。

ところで、コンマを含むデータを扱わない前提でいいのか?

483 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:17:56 ]
スレ違いだけど、strtok()使うくらいならsscanf()で"%[^,],%n"



484 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:23:24 ]
それ用のAPIみたいなのは無いみたいですね
言われてみればsscanfのほうが簡単に書けそうです
コンマは扱わないのでsscanfでやってみます。ありがとう。

485 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:41:08 ]
このスレらしいものを挙げるとしたらODBCとかExcelオートメーションとかかな。
微妙にスレ違いのメンツだけど。


486 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:45:12 ]
ADO.NET
・・もスレ違いか

487 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 01:15:11 ]
パーサ書いてもたいした手間じゃない気もするが

488 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 01:37:03 ]
CSVには明確な企画が存在しないからどの程度の方言を許容するかでえらい大変なことに。

489 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 01:43:55 ]
>488
RFC4180

490 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 01:48:49 ]
規格があっても皆が従わなければ意味がない。
CSVじゃないけどよくあるMicrosoft独自仕様とか。

491 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 01:56:11 ]
どっちかってーとExcelCSVが標準というかなんとゆーか。

492 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 02:00:42 ]
>>489
あれ参考情報じゃなかったか?

493 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 02:25:51 ]
何でも言える事だがルールが全てじゃないしな
間違ったルールだってある



494 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 09:28:34 ]
>>490-494
そういう雑談ネタはいいから。

495 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 10:14:38 ]
>>494
そういうレスはいいから。

496 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 10:29:22 ]
>>495
そういうレス(ry

497 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 10:33:54 ]
>>496
そういう(ry

498 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 10:37:33 ]
次の奴、「(ry」とか書いたら樹海行きな

499 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 10:37:56 ]
(ry

500 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 10:52:52 ]
こうして雑談は続く

501 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 11:50:35 ]
・・・3年後

502 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 11:56:28 ]
・・・7年後

503 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 11:57:13 ]
・・・11年後



504 名前:デフォルトの名無しさん [2008/05/02(金) 12:00:30 ]
・・・13年後

505 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 12:08:24 ]
・・・17年後

506 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 12:28:45 ]
そして誰もいなくなった

507 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 12:29:09 ]
Win32API質問箱改め雑談箱 Build65 まとめ

>>12-29
Win32APIの将来性について(雑談)
>>30-53
Win32APIの設計思想と命名について(雑談)
>>54-100
どこまでをWin32APIとするか(議論、雑談) ※結論は>>61-62
>>101-112
「話を理解してない馬鹿」(雑談、荒らし)
>>126-136
なぜ.NETでWin32APIを使うのか(雑談)
>>215-235
MAX_PATHについて(雑談)
>>324-340
sndPlaySoundと音とび(雑談)
>>400-421
真のプログラマと「知らないならレスしないでください」(雑談、荒らし)
>>424-432
今時Win32APIなんて雑談しかない(雑談)
>>433-441
引数を覚える必要はあるか?(雑談)
>>463-474
なぜ雑談が多いのか(雑談)
>>490-506
規格なんてクソ食らえ(雑談、荒らし)

508 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 12:37:55 ]
CSVはboost::spiritにサンプル実装があったような

509 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 12:41:36 ]
つまり、このスレ的な回答で言うと、
そんなAPIは無いという事で

510 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 12:52:38 ]
結論:CSVぐらい自分でパースしろ

--終了--

511 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 12:54:32 ]
Excel 関連の COM に何かあればいいんだろうけどねえ。

512 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 13:04:01 ]
ADOでJET使えばいいじゃない

513 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 21:13:23 ]
同一スレッド以外からのSend/PostMessageをブロックしたいけど無理ですか?



514 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 21:14:58 ]
>>513
WM_PAINT WM_KEYDOWN WM_??? は誰が投げますか?

515 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 21:17:02 ]
>>514
WM_APPとかの話

516 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 21:17:40 ]
なら最初からそう書けと・・・

517 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 21:21:33 ]
それぐらい察してほしかったってのが本音

同一スレッド以外からSend/PostMessageされたWM_APP+???をブロックしたいけど無理ですか?

518 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 21:36:27 ]
他スレッドから投げられたものか判断する方法は分かるが。

519 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 21:50:55 ]
>>518
教えてください

520 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 21:52:46 ]
それぐらい察してほしかったってのが本音

521 名前:デフォルトの名無しさん [2008/05/02(金) 21:53:54 ]
>>519
それくらい君のテレバス能力で察しろ

522 名前:518 mailto:sage [2008/05/02(金) 21:56:31 ]
「またフックか」って言われるから言いたくないとだけ

523 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 21:56:39 ]
>>520-521
そのようなレスは不要です



524 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 21:58:03 ]
それぐらい察してほしかったってのが本音

525 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 21:59:55 ]
>>522
フックしないと無理なら諦めます

まぁデスクトップのListViewに
PostMessage(hwnd, LVM_INSERTITEM, 0, 0xcccccccc);
とかすると落ちるから無理だろうとは思ってたけど

なんでどのスレッドからのメッセージなのか取得するAPIを用意してないのかなぁ

526 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 22:01:22 ]
それぐらい察してほしかったってのが本音

527 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 22:39:13 ]
よそのスレッドからSendされているかどうかは
InSendMessageやReplyMessageの戻り値を見ればわかる。
この関数、Postは無理だけど。

528 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 22:48:55 ]
527を今日一番輝いていたレスに認定

529 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 22:54:24 ]
>>527
そんな函数あるのか……と思ったらマジでありやがるw
MSすげぇw 知ってるおまえさんもすげぇww

530 名前:513 mailto:sage [2008/05/02(金) 23:07:28 ]
>>527
ありがとうございます

531 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 23:26:09 ]
>>514-526で煽ってる人、知らないならレスしなくていいよ。
ウザイだけだから。

532 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 23:53:22 ]
え?やだよ?

533 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:06:35 ]
>>529
MSDNで関連API一覧を眺めるとかしようぜ。
メッセージ関連なんて20個くらいしかないんだから。



534 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:11:53 ]
>>532
死ね

535 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:20:46 ]
>>534
はぁ?なんで?

536 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:37:54 ]
>>535

537 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:41:22 ]
>>534,536

538 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:42:35 ]
>>532=>>534=>>535=>>536=>>537
自演乙

539 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:44:21 ]
それぐらい察してほしかったってのが本音

540 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:45:53 ]
↑話を理解してない馬鹿

541 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 04:33:30 ]
経験不足の奴には察することはできない。

542 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 04:36:20 ]
>>517
>>527
で終了するやりとりを延々と引っ張るなよ

543 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 07:12:30 ]
そもそもWM_PAINTやWM_KEY**、WM_MOUSE**などは
普通はOSが内部でPostしてるメッセージだから
>>514のような疑問を持つ奴にまともな回答なんてできるはずが無い。
というわけで>>514君には荒れた責任を取ってもらおう。



544 名前:デフォルトの名無しさん [2008/05/03(土) 08:54:15 ]
C++初心者です。
ファイルマッピングとかどうやって使えますか?

545 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 09:21:34 ]
ググれカス






[ 続きを読む ] / [ 携帯版 ]

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

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