您的位置:首页 > 其它

Installshield Script刷新桌面

2009-11-20 16:57 169 查看
Installshield Script刷新桌面
在使用Installshield制作打包安装工具的时候,桌面的图标有时候会Create错误(*下面会讲个亲身Experience)。这时候往往是只要刷新一下桌面,就能恢复想要的图标。所以,Here介绍一个在安装结束后,用Installshield Script来刷新桌面的方法。

首先,Refresh Desktop有两种:

1)调用API函数,如::InvalidateRect( 0, NULL,TRUE);

2F5键刷新。

其次,Installshield Script调用API函数,就需要做Dll,然后调用。这个Script调用Dll的方法我会另篇说明。这里我说明下在Script中如何模拟F5键,刷新桌面。

/////////////// installation declarations ////////////////

// ---- script function prototypes -----

//声明User32.dll的函数

prototype HWND user32.GetDesktopWindow ();
prototype HWND user32.FindWindowExA (HWND, HWND, BYREF STRING, INT);

...

//安装函数

function OnFirstUIAfter()

HWND hWnd;


Begin

.
.

.

hWnd = GetDesktopWindow(); hWnd = FindWindowExA(hWnd, 0, "Progman", NULL);

// WM_KEYDOWN = 256, WM_KEYUP = 257, VK_F5 = 116 PostMessage(hWnd,256,116,0);

PostMessage(hWnd,257,116,0);

end;

亲身Experience:我们公司在做对日外包软件的时候,软件名称和HuaWei的软件名称一样,所以安装好以后桌面图标会生成和较早安装的一样。桌面刷新可解决这个问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: