即使您不了解 AutoIt,您也可能对这个问题有一些深入的了解,因为 AutoIt 并不是一种完全独特的语言。它是一种可以轻松访问窗口 dll 的语言。
我正在尝试使用 AutoIt 语言制作一个与 Windows Journal 一起运行的程序,以便通过热键选择它的颜色。我已经完成了大部分脚本并开始工作。我现在正在为它制作一个 GUI。我发现它确实使用了imagelist
显示颜色的图像。我想在我的 GUI 中使用该确切的图像列表以获得更用户友好的外观。我的问题是我无法抓住它并使用它。我也试过复制它,但无济于事。我认为这可能是因为我的应用程序没有适当的权限来访问该程序的资源。
我的脚本是这样的(以及这个的许多变体):
$hWnd = ControlGetHandle("[CLASS:JournalApp]", "", 113) ;113 is the control ID for the color selecting toolbar
$hImageJS = _GUICtrlToolbar_GetImageList($hWnd)
$hImage = _GUIImageList_Duplicate($hImageJS)
ConsoleWrite(_GUIImageList_GetImageCount($hImage)&"<--count")
我知道有一个图像列表,因为我发现我得到的回报会支持这个想法GUICtrlToolbar_GetButtonImage($hWnd, $cmdId)
。
我总是从imagecount
. 我尝试了各种方法,例如直接访问它,但无济于事。有什么想法/建议/意见吗?
有没有办法让一个窗口的程序访问另一个窗口程序的资源?是否可以在 kernel32 dll 中设置特殊权限或特权?