问题标签 [comdlg32]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
winapi - Windows XP, HKCU\...\LastVisitedMRU 允许的最大项目数?
我有一个场景,我需要组合一个脚本来为当前用户添加一个条目到以下注册表项:
我正在尝试找出此键中允许的最大值数,以便我可以让我的脚本将另一个添加到末尾。值名称从字母表的开头开始,但我不想假设它们以“Z”结尾。
背景:我们正在重新打包专有(即不是我们自己的,我们无权访问源代码)应用程序并尝试设置其默认文件 -> 打开位置。在许多痛苦的快照和文件/Regmon 会话之后,这似乎是做到这一点的方法。我知道这很hackish,但它确实有效,我已经手动测试了这个理论。也就是说,我当然愿意接受有关如何以对 Win32 更友好的方式执行此操作的建议——假设应用程序本身没有更好的机制来执行此操作。
comdlg32 - ComDlg32.ocx 错误:对象不支持此属性或方法
我正在使用ComDlg32.ocx(Commom Dialog Control)开发一个 html 编辑器,使用 HTML 和VBScript。我的确切要求是提示打开/保存/颜色/打印/字体对话框。我编写了提示保存文件对话框的代码。我还在我的网页上添加了一个使用 LPK 工具的许可证文件。
我的 html 源代码如下所示:
现在,我的错误来了。每当我尝试调用 vbscript 以提示保存文件对话框时,我都会收到错误消息: 对象不支持此属性或方法:'objComDlg.Filter'
如果我注释掉objComDlg.Filter,那么错误会转移到objComDlg.DialogTitle并因此继续。
我的 VBScript 看起来像:
有谁知道为什么会这样?是否有使用此特定 ActiveX 控件的适当文档?由于这个错误,我目前的开发处于停滞状态。
顺便说一句,我正在使用 Windows XP SP3 和 IE8 进行开发。
vb6 - 需要 comdlg32.ocx 的 VB6 应用程序,在 windows server 2008 上运行
我有一个需要在服务器 2008 机器上运行的旧版 vb6 应用程序。我一直无法让应用程序依赖的 comdlg32.ocx 进行注册。有什么建议么?
internet-explorer - 通用字体对话框 (comdlg32.ocx) 在 Windows 7 上无法从 IE 中的 JavaScript 调用
我在 VB6 中使用表单应用程序尝试了字体对话框,它可以启动字体对话框,但是当我尝试在 javascript 中执行相同操作时,它失败并出现异常:
由于错误 800a8000 无法完成操作
在调用 ShowFont() 的行。
这是我的 html 代码:有什么想法吗?
vb6 - Internet Explorer 9 (IE9) 在关闭 activex 表单后挂起,例如常用对话框 (comdlg32.ocx)
我的 Intranet 应用程序允许用户使用 CommonDialog activeX 控件 (comdlg32.ocx) 浏览和打印。这在 IE6-IE8 中运行良好。
在 IE9 客户端机器上,普通对话框照常显示,但是当单击 OK 或 Cancel 并关闭对话框时,浏览器会挂起。就好像浏览器认为公共对话框仍然打开一样。这不仅限于 comdlg32,还会影响我们使用的其他 activeX 组件。
但是,如果我调用 Alert(); 调用 commondialog 后,浏览器不会挂起(如果用户单击了取消,则有点混乱)。
HTML 对话框工作正常,例如 document.execCommand('SaveAs','1','fileName.txt') 但这些不提供我需要的功能(例如浏览文件夹)。
为了澄清这个问题,我创建了一个简单的 HTML 文件,其中包含一个用于 commondialog 的 object 标记和一个调用以下 javascript 函数的 html 按钮:
函数 saveFile() { dialog.ShowSave(); }
真的希望有人可以在这里提供帮助,因为我已经花了一个星期的时间来解决这个问题!
PS在各种客户端机器上使用windows 7(也尝试过vista)IE9。
谢谢
缺口
vba - 自动安装 Comdlg32.ocx?
我想将包含 comdlg32.ocx 组件的表单的 Excel 电子表格分发到网络共享。
Windows 7 用户可能不会安装或注册此组件。有没有办法自动检查然后可能在 Windows 7 中安装这个组件?
c++ - 如何从 GetOpenFileName 获得 UTF-8/Unicode 字符串?
我正在使用 Windows 的常用对话框在 MinGW/C++ 中开发一个应用程序。需要收集其中可能包含非 ASCII 字符的文件名。是否有用于检索 Unicode 或 UTF-8 文件名的标志或其他选项?
vb.net - Visual Studio 2008 与 VSS 2005 一起崩溃
我已经安装了 VSS 2005 并添加了一个 VS 2008 项目。如果我尝试通过选择 File --> Open Project 打开项目,然后选择左侧的 Source Safe 并导航到 .sln 或 .vbproj,Visual Studio 会立即退出,并且事件日志中没有错误。
我尝试执行 devenv /clean 和 /safemode,然后在事件查看器中出现错误对话框,其中包含以下条目:
有没有人遇到过这个问题或有任何解决方案?尝试了通常的地方,但到目前为止空手而归。
谢谢!
java - Calling GetOpenFileName through JNA fails for Swing app
I'm trying to use the native Windows file dialog in Java, using JNA to call the comdlg32 function GetOpenFileName
. I've made a static method, OpenFileDialog.display
that looks like this:
It should return the selected files, or null if the user canceled the dialog.
I have two simple test programs. This one works as expected:
This one, however, does not:
For the latter example, CommDlgExtendedError
returns 2, which according to MSDN is:
CDERR_INITIALIZATION 0x0002
The common dialog box function failed during initialization. This error often occurs when sufficient memory is not available.
...which doesn't really help me all that much. What am I doing wrong here?
I've put the other sources on PasteBin so I wouldn't clutter the question too much:
OpenFileDialog
: http://pastebin.com/HDmu0TjX
ComDlg32JNA
: http://pastebin.com/X5F5LLip
windows-7 - 如何避免因卸载 comdlg32.dll 导致 MFC SDI 应用程序崩溃?
我们有一个针对 MFC9 (VC2008) 构建的应用程序。该应用程序是一个 SDI 应用程序,并在 InitInstance() 期间显示一个文件打开对话框。显示该对话框会导致加载 comdlg32.dll。几分钟后,comdlg32.dll 会自动卸载。在此之后,依赖于 DLL 的下一个函数将崩溃。
如何避免这种情况?什么控制着 DLL 的自动卸载/加载?
更多信息:
- 我们在相同应用程序的 WinXP 上看不到这个问题。
- 在 Win7 上,这种行为是从今年年初才出现的——也许某些 MFC 更新与此有关?
- 小型测试应用程序不会出现问题行为 - comdlg32.dll 在需要时重新加载。
- 我们发现 Microsoft 声明不建议在 MDI 应用程序的 InitInstance() 中使用模式对话框 (http://support.microsoft.com/kb/173261) - 不过我们有一个 SDI 应用程序。
- 我们不以任何方式直接使用 comdlg32.dll,只是通过 MFC 间接使用。