标签: comdlg32

注册comdlg32.dll获取Regsvr32:找不到DllRegisterServer入口点

我有Windows 7,64位.

我正在尝试使用regsvr32注册.dll(comdlg32.dll).但是我得到一个错误,表示读取了dll但找不到DLLRegistryServer入口点.

我已经在System32和SysWOW64下运行命令,并且我已经使用"以管理员身份运行"运行我的命令.

我的旧MSComDlg.CommonDialog组件不再使用64位.

windows dll regsvr32 common-dialog comdlg32

49
推荐指数
3
解决办法
50万
查看次数

对于Swing应用程序,通过JNA调用GetOpenFileName失败

我正在尝试使用Java中的本机Windows文件对话框,使用JNA来调用comdlg32函数GetOpenFileName.我做了一个静态方法,OpenFileDialog.display看起来像这样:

 public static List<File> display(Window parent, boolean allowMultiSelect)
Run Code Online (Sandbox Code Playgroud)

它应该返回所选文件,如果用户取消了对话框,则返回null.

我有两个简单的测试程序.这个按预期工作:

package nativedialogs;

import java.io.File;
import java.util.List;

public class SimpleTest {

    public static void main(String[] args) {
        List<File> files = OpenFileDialog.display(null, true);
        System.out.println(files);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,这个不是:

package nativedialogs;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class SwingTest {

    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                JFrame f = new JFrame();
                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                JButton …
Run Code Online (Sandbox Code Playgroud)

java winapi swing jna comdlg32

6
推荐指数
1
解决办法
664
查看次数

Qt OLEAUT32.DLL、COMDLG32.DLL 未注册?

我正在 Qt 中开发一个新软件,但几天后,当我运行该项目时,我收到一些令人困惑的错误消息:

mincore\com\oleaut32\dispatch\ups.cpp(2128)\OLEAUT32.dll!75FEEF12: (caller: 75FEE58F) ReturnHr(1) tid(10a0) 8002801D Bibliothek nicht registriert.
mincore\com\oleaut32\dispatch\ups.cpp(2128)\OLEAUT32.dll!75FEEF12: (caller: 75FEE58F) ReturnHr(2) tid(10a0) 8002801D Bibliothek nicht registriert.
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 QFileDialog打开XML 文件后,出现新的错误消息:

shell\comdlg32\fileopensave.cpp(14267)\COMDLG32.DLL!76FC7BED: (caller: 76FF686C) ReturnHr(1) tid(10a0) 80004005 Unbekannter Fehler
    CallContext:[\PickerModalLoop] 
Run Code Online (Sandbox Code Playgroud)

我真的不知道如何解决这个问题,也许是因为新的 windows10 更新而存在?

这两条消息都不会导致程序崩溃。每次运行项目时都会出现第一条消息,第二条消息仅在打开 XML 文件时出现,这也导致无法使用该程序,因为我需要打开该 XML 文件。我很确定问题不是由代码问题引起的。

有人可以帮助我吗?我重新安装了Qt,问题依然存在。

xml qt comdlg32 windows-10 lib

6
推荐指数
0
解决办法
2787
查看次数

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

我有一个场景,我需要将一个脚本放在一起,为当前用户添加以下注册表项的条目:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedMRU\
Run Code Online (Sandbox Code Playgroud)

我试图找出此密​​钥中允许的最大值数,以便我可以将我的脚本添加到另一个上.值名称从字母表的开头开始,但我不想假设它们以"Z"结尾.

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

registry winapi windows-xp mru comdlg32

2
推荐指数
1
解决办法
895
查看次数

如何获取列表控件中的列数

我需要在报表模式下获取列表控件中的列数.

现在我发送一个LVM_GETCOLUMN增加的列号,直到SendMessage返回FALSE:

int col;
for (col = 0;; col++)
{ 
  LVCOLUMN Column;
  Column.mask = LVCF_WIDTH;
  if (!::SendMessage(hWnd, LVM_GETCOLUMN, col, (LPARAM)Column)
    break;
}
Run Code Online (Sandbox Code Playgroud)

但这很尴尬.

winapi comdlg32

2
推荐指数
1
解决办法
2031
查看次数

标签 统计

comdlg32 ×5

winapi ×3

common-dialog ×1

dll ×1

java ×1

jna ×1

lib ×1

mru ×1

qt ×1

registry ×1

regsvr32 ×1

swing ×1

windows ×1

windows-10 ×1

windows-xp ×1

xml ×1