#encoding: UTF-8require "win32ole"require "Win32API" FindWindowEx = Win32API.new("user32", "FindWindowExA", ["l", "l", "p", "p"], "l") GetWindowText = Win32API.new("user32", "GetWindowTextA", ["L","P","i"], 'i') GetClassName = Win32API.new("user32", "GetClassName", ["L","P","i"], "l") GetWindowTextLength = Win32API.new("user32", "GetWindowTextLength", "L", "I")# GetWindowText 獲取窗口標(biāo)題 URL_handle = FindWindowEx.call(0, 0, "DV2ControlHost", nil) buf_len = GetWindowTextLength.call(URL_handle) str_a = " " * (buf_len + 1) GetWindowText.call(URL_handle, str_a, str_a.length) puts str_a.delete("\0")執(zhí)行后報(bào)錯(cuò):in `delete': invalid byte sequence in UTF-8 (ArgumentError)Class Name: "DV2ControlHost"Window Caption: "「開(kāi)始」菜單"
1 回答

繁星點(diǎn)點(diǎn)滴滴
TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊
使用delete(“\0”) 前 ,先處理下編碼 用force_encoding("iso-8859-1")
,或者再試下其他編碼格式。
祝你好運(yùn)。
- 1 回答
- 0 關(guān)注
- 104 瀏覽
添加回答
舉報(bào)
0/150
提交
取消