見当たらなかったので命令を作ってみました。
当然ですが、hsp3utf.asをインクルードしている他、ソースコードがUTF-8で書かれている必要があります。
// ---------------------------------------------------------------
// 【最小限必須環境】
// ・"hsp3utf.as" をインクルードしていること
// ・UTF-8でコードを保存してコンパイルすること (故に標準のhsedでは不可)
// ---------------------------------------------------------------
// 参考サイト
// http://wisdom.sakura.ne.jp/system/winapi/win32/win90.html
#include "hsp3utf.as"
#include "kernel32.as"
#include "user32.as"
#define global NULL 0
#define global GHND $00000042
#define global CF_UNICODETEXT $0000000D
#module
// ============================
// Unicodeでクリップボードをセットする
// 引数1:セットする文字列
// ============================
#deffunc SetClipUtf str text, \
local uni, local hData, local lpData, local clipData
// クリップボードを開く
if (OpenClipboard(NULL) == 0) : return 0
// クリップボードを空にする
EmptyClipboard
// Windowsで使われるUnicodeはUTF-16なので変換する
sdim uni, strlen(text) * 2 + 2 //UTF-16にするのでstrlen()の2倍 + ヌル文字(2バイト)
cnvstow uni, text
// メモリブロックを確保
// (各関数の詳しい動作などについては参考サイトを参照してください)
dim hData
hData = GlobalAlloc(GHND, varsize(uni))
if (hData == 0) : return 0
dim lpData
lpData = GlobalLock(hData)
// -----------------------------------------------------------------
// HSP3にはポインタに直接書き込む命令がないので、dupptrでクローン変数に書き込む
//
// このとき clipData = uni とかするとHSP3の通常文字列操作になり
// 完コピにならないので、memcpyを使うこと!!!
// -----------------------------------------------------------------
dupptr clipData, lpData, GlobalSize(hData), 2
memcpy clipData, uni, GlobalSize(hData)
GlobalUnlock hData
// ここで CF_UNICODETEXT を指定する
SetClipboardData CF_UNICODETEXT, hData
CloseClipboard
return 1
#global
SetClipUtf "HSP3🔺◢😀💯ⓗⓢⓟ♠♡♣♤♪"
if (stat) {
mes "クリップボードにコピーしました"
}else {
mes "失敗しました"
}