小编MLd*_*deS的帖子

是否可以在Windows 10中为AWT应用程序提供清晰的任务栏图标

我正在尝试设置Java AWT应用程序的图标,以使其在Windows 10任务栏上以本机分辨率呈现(包括将桌面缩放比例设置为100%以上时)。似乎默认情况下,如果可执行文件嵌入了包含多个尺寸的图标,则Windows似乎会选择一个比任务栏图标的实际尺寸大的尺寸,然后将其缩小(以100%的比例将32像素图标的尺寸调整为24,即使提供了24像素的图标,其他比例也是如此。)

通过仅将正确大小的图标作为资源加载并向窗口发送WM_SETICON消息,我已经解决了C ++ MFC应用程序的此问题,这在任务栏和alt-tab对话框上产生了一个漂亮的清晰图标。

smallIcon = (HICON)LoadImage( myInstance, MAKEINTRESOURCE(smallIconRes), IMAGE_ICON, smallIconSize, smallIconSize, LR_DEFAULTCOLOR );
SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM)smallIcon);

bigIcon   = (HICON)LoadImage( myInstance, MAKEINTRESOURCE(bigIconRes),   IMAGE_ICON, bigIconSize,   bigIconSize,   LR_DEFAULTCOLOR );
SendMessage(hWnd, WM_SETICON, ICON_BIG,   (LPARAM)bigIcon); 
Run Code Online (Sandbox Code Playgroud)

该方法似乎不适用于Java应用程序-将wParam设置为ICON_SMALL的WM_SETICON消息可以正常工作,但忽略与ICON_BIG等效的消息。

如果我尝试使用Java的API来设置图标,则可以这样做

    List<Image> icons = new ArrayList<Image>();
    icons.add(windowIcons.getIcon(20)); // small icons are 20x20 pixels
    icons.add(windowIcons.getIcon(30)); // large are 30x30 at 125% scale
    setIconImages(icons);
Run Code Online (Sandbox Code Playgroud)

使用了正确的图标,但它看起来模糊,好像有些东西已将其调整为“预期”大小,然后重新调整为原来的大小一样。左边是它的显示方式,右边是图标文件的内容。

Java应用程序的图标与外观

因此,我的问题是:我可以在该Java应用程序中执行什么操作,以使Windows呈现在任务栏上提供的图标,而不会缩放它并模糊细节?

java icons awt windows-10

13
推荐指数
1
解决办法
261
查看次数

自动测试VBA UserForms-工具和/或技术?

我希望在一个相当大的Excel加载项上开始自动回归测试,该加载项围绕一个由几个带有标准控件的模态UserForms组成的GUI.

主要问题是我所研究的大多数自动化测试工具(Rational Robot,AutomatedQA TestComplete,网络自动化自动化等)并不完全支持VBA控件,所以他们的测试最终会重放鼠标点击和按键,所以不能真的可以维护.理想情况下,我需要一个识别VBA表单控件的测试工具,所以我可以说"按下此按钮并等待此列表框更改"而不是"单击(237,58)并等待500毫秒".

我还考虑将测试自动化作为VBA构建到加载项中,但是用户的大部分时间都花在与模式对话框的交互上,该对话框阻止VBA在后台运行,因此这几乎是不可能的.

我的问题 - 这里的任何人都有使用自动化测试工具的经验

a)识别VBA用户表单控件并可以可靠地与它们进行交互

b)是否支持使用条件分支和成功/失败日志记录的测试脚本,而不仅仅是记录和回放?

或者,有没有人知道我可以解决暂停VBA执行的模式对话问题的方法,以便我可以从VBA中驱动加载项?

我花了一段时间浏览QA论坛,但没有找到任何东西,所以任何帮助或线索将不胜感激.

谢谢你的帮助,

-Martin

testing excel vba automated-tests regression-testing

7
推荐指数
1
解决办法
2845
查看次数