勘違いが多いようですがCreateToolhelp32Snapshotは現在ある全てのスレッドを取得できます。
逆に自プロセスや特定のプロセスのスレッド一覧を取得するものではないです。
#uselib "kernel32"
#cfunc CreateToolhelp32Snapshot "CreateToolhelp32Snapshot" int, int
#cfunc Thread32First "Thread32First" int, int
#cfunc Thread32Next "Thread32Next" int, int
#define INVALID_HANDLE_VALUE $FFFFFFFF
#define TH32CS_SNAPTHREAD $00000004
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0)
if stat == INVALID_HANDLE_VALUE : mes "CreateToolhelp32Snapshot failed." : stop
dim thentry, 7 // HREADENTRY32構造体
thentry.0 = length(thentry) * 4
if Thread32First(hSnapshot, varptr(thentry)) == 0 : mes "Thread32First failed." : stop
sdim s,100000
do
s+=strf("ThreadID(ProcessID):%d(%d)\n",thentry.2,thentry.3)
until Thread32Next(hSnapshot, varptr(thentry))==0
mesbox s,640,480