问题标签 [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.

0 投票
3 回答
939 浏览

winapi - Windows XP, HKCU\...\LastVisitedMRU 允许的最大项目数?

我有一个场景,我需要组合一个脚本来为当前用户添加一个条目到以下注册表项:

我正在尝试找出此键中允许的最大值数,以便我可以让我的脚本将另一个添加到末尾。值名称从字母表的开头开始,但我不想假设它们以“Z”结尾。

背景:我们正在重新打包专有(即不是我们自己的,我们无权访问源代码)应用程序并尝试设置其默认文件 -> 打开位置。在许多痛苦的快照和文件/Regmon 会话之后,这似乎是做到这一点的方法。我知道这很hackish,但它确实有效,我已经手动测试了这个理论。也就是说,我当然愿意接受有关如何以对 Win32 更友好的方式执行此操作的建议——假设应用程序本身没有更好的机制来执行此操作。

0 投票
3 回答
6197 浏览

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 进行开发。

0 投票
3 回答
9535 浏览

vb6 - 需要 comdlg32.ocx 的 VB6 应用程序,在 windows server 2008 上运行

我有一个需要在服务器 2008 机器上运行的旧版 vb6 应用程序。我一直无法让应用程序依赖的 comdlg32.ocx 进行注册。有什么建议么?

0 投票
3 回答
1580 浏览

internet-explorer - 通用字体对话框 (comdlg32.ocx) 在 Windows 7 上无法从 IE 中的 JavaScript 调用

我在 VB6 中使用表单应用程序尝试了字体对话框,它可以启动字体对话框,但是当我尝试在 javascript 中执行相同操作时,它失败并出现异常:

由于错误 800a8000 无法完成操作

在调用 ShowFont() 的行。

这是我的 html 代码:有什么想法吗?

0 投票
1 回答
3127 浏览

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。

谢谢

缺口

0 投票
1 回答
523 浏览

vba - 自动安装 Comdlg32.ocx?

我想将包含 comdlg32.ocx 组件的表单的 Excel 电子表格分发到网络共享。

Windows 7 用户可能不会安装或注册此组件。有没有办法自动检查然后可能在 Windows 7 中安装这个组件?

0 投票
1 回答
983 浏览

c++ - 如何从 GetOpenFileName 获得 UTF-8/Unicode 字符串?

我正在使用 Windows 的常用对话框在 MinGW/C++ 中开发一个应用程序。需要收集其中可能包含非 ASCII 字符的文件名。是否有用于检索 Unicode 或 UTF-8 文件名的标志或其他选项?

0 投票
1 回答
212 浏览

vb.net - Visual Studio 2008 与 VSS 2005 一起崩溃

我已经安装了 VSS 2005 并添加了一个 VS 2008 项目。如果我尝试通过选择 File --> Open Project 打开项目,然后选择左侧的 Source Safe 并导航到 .sln 或 .vbproj,Visual Studio 会立即退出,并且事件日志中没有错误。

我尝试执行 devenv /clean 和 /safemode,然后在事件查看器中出现错误对话框,其中包含以下条目:

有没有人遇到过这个问题或有任何解决方案?尝试了通常的地方,但到目前为止空手而归。

谢谢!

0 投票
1 回答
781 浏览

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

0 投票
2 回答
1248 浏览

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 间接使用。