- 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 ]
- ググれカス
|

|