以下是引用wengjl在2025-4-27 15:15:34的发言:
对WORD加密,通过创建对象,打开WORD再读取,就正常,所以,想到是否也可用创建一个能打开记事本的对象来处理,不知是否可行
对WORD加密,通过创建对象,打开WORD再读取,就正常,所以,想到是否也可用创建一个能打开记事本的对象来处理,不知是否可行
绝对不行,word文档怎么能用记事本打开呢?你想想:MP4电影用记事本打开能到到图片吗?
* 打开记事本并加载文件(异步模式,不等待) lcFile = "C:\Intel\调用clssqlite33示例.txt" && 要打开的文件全路径名称 winTitle = JUSTSTEM(lcFile) + " - 记事本" && 推算出的窗口标题 * 创建 WScript.Shell 对象 loShell = CREATEOBJECT("WScript.Shell") loShell.Run('notepad.exe "' + lcFile + '"', 1, .F.) && WScript.Shell 对象打开记事本 * 等待记事本窗口启动(关键延迟) = INKEY(1) && 延迟1秒,确保窗口加载完成 * 激活记事本窗口(通过窗口标题匹配) llActivated = loShell.AppActivate(winTitle) IF NOT llActivated MESSAGEBOX("无法激活记事本窗口!") RETURN ENDIF * 通过发送(Ctrl[color=#808080]+A)和(Ctrl+C),取得记事本内容到剪贴板[/color] loShell.SendKeys("^a") && Ctrl+A = INKEY(0.2) && 等待200毫秒确保全选完成 loShell.SendKeys("^c") && Ctrl+C = INKEY(0.5) && 等待500毫秒确保复制完成 * 关闭记事本 loShell.SendKeys("%{F4}") && Alt+F4 关闭窗口 = INKEY(0.5) * 释放对象 RELEASE loShell * 验证剪贴板内容 IF !EMPTY(_CLIPTEXT) IF MESSAGEBOX("内容已复制到剪贴板,是否输出到屏?" ,4,"读取记事本成功。") = 6 CLEAR nn = ALINES(arrtxt, _CLIPTEXT, 2, CHR(13)) FOR ir = 1 TO nn * 记事本内容输出到屏,也可改为append到一个事先准备好的表中 ? STR(ir) + "|" + arrtxt[ir] ENDFOR ENDIF ELSE MESSAGEBOX("复制失败!") ENDIF