草庐IT

getOpenFileNames

全部标签

windows - shell32.dll : access violation during GetOpenFileName new thread

GetOpenFileName因访问冲突而失败。文件必须在桌面上并且名称很长。只有在第一次成功打开文件后才会出现问题。当鼠标光标悬停在文件上时出现问题,因为工具提示即将显示。请参阅下面的答案。我将在下面留下原始问题描述。迈克·D。=======================我正在使用GetOpenFileName。我有时会在shell32的深处遇到访问冲突。第一次使用此代码时不会发生违规,通常需要五六次尝试。此外,如果在弹出打开的文件窗口后一两秒内选择一个文件,则不会发生违规。另外,我调试时显示的调用堆栈不包含我的任何代码。就好像某个独立的线程正在醒来做某事。非常感谢任何关于我如何调

windows - PyQt QFileDialog getOpenFileName 无法从命令行(Windows)工作

我正在尝试制作一个gui(QtDesigner)来导入excel文件并在gui中显示数据。当我从我的IDE(Spyder)中运行该脚本时它工作正常,但如果我从命令窗口运行它或通过从Windows资源管理器打开python文件,导入功能将不起作用。(GUI启动正常,但是当按下导入按钮并选择文件时,没有任何反应,也没有产生错误。从Spyder运行时,数据按预期导入并显示在GUI中)。如果我预先选择文件位置(在下面的代码中注释掉),那么脚本可以从命令行或通过从资源管理器中单击来正常工作。感谢您的帮助!Python2.7(Anaconda)、Windows10、PyQt4importsysfr

c++ - 当 OFN_ALLOWMULTISELECT 时,Windows API 函数 GetOpenFileName() 的字符限制是否有解决方法?

根据MSDN文档,函数GetOpenFileName()当使用Windows2000及更高版本为Unicode编译时,选项OFN_ALLOWMULTISELECT没有字符限制。但是,在WindowsXPx64SP2上,我发现尽管使用了Unicode,但32kANSI限制仍然有效。我在网上看到过其他关于此问题的投诉,但没有解决方案。有谁知道一个简单的解决方法吗?为了完整起见,我使用的是VisualStudio2010,并使用C++进行编码。 最佳答案 文档可能有误。GetOpenFileName()在某种程度上已被弃用,它不再支持最新

c++ - 替换或修改外部应用程序中的 API 调用(GetOpenFileName、GetSaveFileName)

我有一个调用GetOpenFileNameA和GetSaveFileNameA的旧应用程序。两次调用都是错误的。应用程序崩溃!我已经使用OllyDbg和APIMonitor来读取存储在OPENFILENAME结构中的大小。该结构的大小为76字节(使用Windows7x64进行测试)。调用GetOpenFileNameA或GetSaveFileNameA时出现访问冲突异常。我假设在运行时窗口试图读取88字节而不是76字节。看看这个:http://dotnetbutchering.blogspot.de/2007/10/vc-60-getting-0xc0000005-access.htm

c++ - 当 QFileDialog::getOpenFileName 窗口打开时,程序意外结束

我正在编写一个简单的Qt应用程序来测试多线程(这对我来说也是全新的)。我制作了一个QApplication来管理GUI,然后我编写了一个包含类MainWindow的类VisionApp,它是一个子类QMainWindow的。在MainWindow类中,我编写了一个函数voidMainWindow::getfromfilevd(),它使用以下方法连接到按钮:QObject::connect(ui->FileVdButton,SIGNAL(clicked()),this,SLOT(getfromfilevd()));然后我想使用QFileDialog::getOpenFileName从文件

c++ - 在 Qt 中如何在用户主目录中打开 QFileDialog::getOpenFileNames

我正在使用QtQFileDialog::getSaveFileName和QFileDialog::getOpenFileNames供用户选择保存文件的位置以及要在我的应用程序中打开的文件。该函数的第三个参数是你希望窗口默认打开的路径。在linux中,如何让对话框在用户主目录中打开,在Windows中,如何让对话框在win7中的用户用户文件夹或winxp中的“我的文档”中打开?目前我正在使用这样的对话框:QFileDialog::getOpenFileNames(this,"Selectafiletoopen...",HOME);其中HOME是UNIX中的预处理器宏是~而在Windows

c++ - 修改 QFileDialog::getOpenFileName 以获得额外的下拉列表

我是一名学生程序员,使用Qt为我的公司构建一个阅读器表。这位读者既是编辑者又是转换器。它读入一个.i文件,允许对文本文档进行表格编辑,然后输出一个.scf文件,该文件本质上是一个单独的值文件,堆叠在带有标题的图例下。我离题了...基本上导入的文件格式真的很难扫描和读入(几乎不可能)所以我想修改打开的文件preBuiltQFileDialog以在选择旧文件类型进行声明时包含一个额外的下拉列表他们的模板标题。当用户选择.i扩展文件(选项2文件类型)时,我想启用一个额外的下拉菜单以允许用户选择它是哪种类型的.i文件(选择模板)。这样我就不必与上帝打交道了,天知道有多少小时试图找出一种方法来为

windows - GetOpenFileName 在 64 位中失败,但在 32 位中有效?

我有以下代码,用于使用Win32API打开文件打开对话框。它在32位中运行良好,但在64位(在DLL中)中使用时失败。我做错了什么?charFilestring[256];Filter="OBJfiles\0*.obj\0\0";char*returnstring=NULL;OPENFILENAMEopf;opf.hwndOwner=mainHWND;opf.lpstrFilter=Filter;opf.lpstrCustomFilter=0;opf.nMaxCustFilter=0L;opf.nFilterIndex=1L;opf.lpstrFile=Filestring;opf.l

c++ - 设置了 OFN_ALLOWMULTISELECT 标志的 GetOpenFileName()

我正在尝试使用GetOpenFileName()通用对话框调用来弹出一个对话框并允许用户选择多个文件。我已经设置了OFN_ALLOWMULTISELECT标志,以及OFN_EXPLORER设置,所以我得到了“新样式”文件选择框。当我设置我的OPENFILENAME结构时,我将ofn.lpstrFile指向分配用于保存结果的缓冲区,并将ofn.nMaxFile设置为它的长度。我遇到的问题是,如果用户选择的文件名太多以至于缓冲区会溢出,则对GetOpenFileName的调用会返回FALSE,然后CommDlgExtendedError()会返回FNERR_BUFFERTOOSMALL。这

c++ - GetOpenFileName() 正在干扰 SFML

我创建一个OPENFILENAME:OPENFILENAMEofn;charszFile[260];HWNDhwnd=NULL;//InitializeOPENFILENAMEZeroMemory(&ofn,sizeof(ofn));ofn.lStructSize=sizeof(ofn);ofn.hwndOwner=hwnd;ofn.lpstrFile=(LPWSTR)szFile;ofn.lpstrFile[0]='\0';ofn.nMaxFile=sizeof(szFile);ofn.lpstrFilter=L"PNGFiles\0*.PNG*\0";ofn.nFilterInde
12