WEB开发网
开发学院操作系统Windows Vista Windows Vista IE 7保护模式开发者生存指南 阅读

Windows Vista IE 7保护模式开发者生存指南

 2008-08-22 17:24:11 来源:WEB开发网   
核心提示: HRESULT IEGetWriteableHKCU(HKEY* phKey);如果函数成功,就可在其他的注册表API中使用这个返回的HKEY来写入数据了,Windows Vista IE 7保护模式开发者生存指南(5),提示用户保存文件当IE运行于保护模式时,插件还有一个办法(非直接的)

HRESULT IEGetWriteableHKCU(HKEY* phKey);

如果函数成功,就可在其他的注册表API中使用这个返回的HKEY来写入数据了。

提示用户保存文件

当IE运行于保护模式时,插件还有一个办法(非直接的)可写入到文件系统中,而且是在低权限区域之外,这是通过调用IEShowSaveFileDialog()显示一个保存文件对话框来完成的。如果用户输入了一个文件名,插件就能通过调用IESaveFile()让IE来写这个文件。要注意的是,这个操作总是会显示保存文件对话框,以确保用户知道将要写入一个文件。

保存文件的步骤如下:

1、调用IEShowSaveFileDialog()显示保存文件对话框。

2、调用IEGetWriteableFolderPath()获取IE缓存目录。

3、把数据写到缓存目录的一个临时文件中。

4、调用IESaveFile()把数据复制到用户选择的文件中。

5、清理临时文件

IEShowSaveFileDialog()是对通用文件保存对话框的一个包装函数:

HRESULT IEShowSaveFileDialog(
HWND  hwnd,
LPCWSTR lpwstrInitialFileName,
LPCWSTR lpwstrInitialDir,
LPCWSTR lpwstrFilter,
LPCWSTR lpwstrDefExt,
DWORD  dwFilterIndex,
DWORD  dwFlags,
LPWSTR* lppwstrDestinationFilePath,
HANDLE* phState
);

hwnd是一个插件所有的窗口句柄,IE将会使用最顶层的所有者窗口作为对话框的父窗口;lppwstrDestinationFilePath是一个指向LPWSTR的指针,其为用户选择的文件路径;phState是一个指向HANDLE的指针,其为用户所选择文件的句柄,在调用其他API时,也会用到这个句柄。其他参数与OPENFILENAME结构中的对应成员用法类似。

IEShowSaveFileDialog()返回S_OK代表用户选择了某个文件名,S_FALSE代表取消了对话框,而失败的HRESULT代表API未成功。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Windows Vista IE

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接