HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2023
1216
UNGAメモ帳にクリップボードの内容を送るには4解決


UNGA

リンク

2023/12/16(Sat) 11:15:37|NO.100856

こんにちは。
メモ帳にクリップボードの内容を送ることを考えているのですが、
下のようなスクリプトではうまくいかないようです。
アドバイスいただけたら嬉しいです。


#include "user32.as" #include "kernel32.as" #include "hspext.as" #define WM_SETTEXT 0x000C sdim tem,500 clipget temp,500 exec "notepad",16 GetActiveWindow whnd=stat sendmsg whnd, WM_SETTEXT, 0, varptr(temp) stop



この記事に返信する


UNGA

リンク

2023/12/16(Sat) 11:28:30|NO.100857

sdim temp,500
でした。



UNGA

リンク

2023/12/16(Sat) 16:46:08|NO.100860

自己レスです。
どうも、WM_SETTEXTではうまくいかないようです。
APIを使ってやる方法はかなり難しそうなので、いったんファイルに書き出してから
メモ帳で読み込ませることにしました。その方が、ローテクですが確実そうなので。



にょろりん

リンク

2023/12/16(Sat) 20:40:26|NO.100863

うまくいかない原因はWM_SETTEXTではなく、GetActiveWindowですよ。
これだと自分自身のハンドルです。
必要なのはnotepadのEditコントロールのハンドル。
そしてこの部分はWindows10までとWindows11のタブ無し、タブ有りの3種類あるようです。
上記を踏まえて修正してみました。
多分これでいけるとおもうんですが…
いかがでしょうか?


#include "user32.as" #include "kernel32.as" #include "hspext.as" #define WM_SETTEXT 0x000C sdim temp, 500 clipget temp, 500 exec "notepad", 16 // GetActiveWindow // whnd=stat //メモ帳が起動するまでループ repeat FindWindow "Notepad", 0 whnd = stat //メモ帳のウインドウハンドル if whnd != 0{ break } wait(10) loop // Windows11のメモ帳は入力できるようになるまでが遅いので一寸待機 wait(200) // Windows10 FindWindowExw whnd, 0 , "Edit", 0 a = stat //メモ帳のEditコントロールハンドル if a != 0{ Chnd = a }else{ // Windows11(タブ無し) FindWindowExw whnd, 0 , "RichEditD2DPT", 0 b = stat //メモ帳のRichEditコントロールハンドル if b != 0{ Chnd = b }else{ // Windows11(タブ有り)※NotepadTextBox と RichEditD2DPT の入れ子 FindWindowExw whnd, 0 , "NotepadTextBox", 0 FindWindowExw stat, 0 , "RichEditD2DPT", 0 c = stat //メモ帳のRichEditコントロールハンドル Chnd = c }else{ //どれでも無い Chnd = 0 } } // sendmsg whnd, WM_SETTEXT, 0, varptr(temp) if Chnd == 0{ mes "メモ帳が見つからないよ?" }else{ mes "メモ帳に送ったよ!" sendmsg Chnd, WM_SETTEXT, 0, varptr(temp) } stop



UNGA

リンク

2023/12/22(Fri) 21:59:22|NO.100908

お返事遅れてすみません。
うまくいきました!

ローテクをやめて、こちらの方法を使わせていただきます。
ありがとうございました。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.100856への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2023(c) All rights reserved.