動作中はエディタ等で貼り付け操作ができなくなったり、
正常にコピーされなかったりします。
どうすれば改善できるでしょうか?
取得する方法については、
hspext.dllだとシステムエラーが発生することがあるので、
さくらさんのstdlibにあるモジュールを利用しています。
#ifdef __hsp30__ #ifndef __EXCLIPBD__ #define __EXCLIPBD__ #module #deffunc getcliptext var prm1 if vartype(prm1)!2 : return -1 //OpenClipboard hwnd IsClipboardFormatAvailable CF_OEMTEXT ret=stat : if ret==0 : CloseClipboard : return -1 if ret!0 { OpenClipboard hwnd GetClipboardData ret : lngHwnd=stat if lngHwnd==0 : CloseClipboard : return -1 GlobalSize lngHwnd : ls=stat GlobalLock lngHwnd : lngMem=stat sdim strClipData,ls+1 lstrcpy varptr(strClipData),lngMem GlobalUnlock lngHwnd CloseClipboard prm1=strClipData : sdim strClipData,0 } return 0 #global #endif #endif
記録するタイミングについては、以下のように
過去内容と比較して一致しなかったときに記録しています。
a="":b="" getcliptext a *lp getcliptext a if a!b:{ b=a //記録処理を行う } wait 5:goto *lp