首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在 Win7 上 GetOpenFileName 函数忽略 lpstrInitialDir 参数

在 Win7 上,GetOpenFileName 函数忽略 lpstrInitialDir 参数是因为在 Windows 7 中,GetOpenFileName 函数的行为发生了变化。lpstrInitialDir 参数用于指定对话框中初始显示的文件夹路径,但在 Windows 7 中,GetOpenFileName 函数会忽略该参数,而是使用上一次打开或保存文件对话框中选择的文件夹路径作为初始路径。

这个变化可能是由于 Windows 7 引入了一个新的文件对话框组件,该组件在设计上有所改进,以提供更好的用户体验。在这个新的文件对话框组件中,lpstrInitialDir 参数被忽略,而使用了记忆功能,记住了用户上一次选择的文件夹路径。

尽管 lpstrInitialDir 参数被忽略,但仍然可以通过其他方式来设置初始路径。例如,可以使用 SetCurrentDirectory 函数在打开文件对话框之前设置当前工作目录,从而影响对话框中的初始路径。

总结起来,在 Win7 上,GetOpenFileName 函数忽略 lpstrInitialDir 参数,而使用上一次打开或保存文件对话框中选择的文件夹路径作为初始路径。这个变化是为了提供更好的用户体验。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Windows编程】系列第八篇:创建通用对话框

本篇以最常见的文件打开/保存对话框、字体对话框、颜色对话框为例,来学习如何创建这些对话框,其他的对话框使用大同小异,且MSDN基本都有使用实例。...API函数定义如下: BOOL GetOpenFileName(LPOPENFILENAME lpofn); 参数lpofn的定义如下: typedef struct tagOFN { DWORD...API函数定义如下: BOOL GetSaveFileName(LPOPENFILENAME lpofn); 该函数参数与上面完全一样,只是有些不能在文件保存对话框函数中使用,保存文件时不能多选名字。...颜色选择对话框 该对话框函数提供统一接口用于选择颜色,API函数定义如下: BOOL ChooseColor(LPCHOOSECOLOR lpcc); 参数lpcc最重要的参数: lpCustColors...API函数定义如下: BOOL ChooseFont(LPCHOOSEFONT lpcf); 对话框函数运行结束后的字体rgbColors参数中,我们可以用它来创建选择的字体。

1.2K140

DotNet4应用程序打包工具->升级版【二】安装工具分析

本系列的一篇中, 我们给出了这个工具的具体的思路。 得到了很多朋友的反馈!...综合朋友的意见, 没有改变工具原理的基础 我对这个程序做了升级 如下图: 如你所见, 现在这个打包工具可以打包dotNet2.0  3.5  4 乃至所有注册表中添加过注册表项的应用程序 下面我们就开始分析安装工具...接收到的每个消息都执行了一个或几个函数 那么,我们就一个函数一个函数的讲 ------------------------------------------------------- 窗口初始化消息里...= NULL; if(GetOpenFileName(&ofn)) { SetDlgItemText(hwnd,EDITId,szFile); } } ------------------...----------------------------- 为宿主程序增加目标程序资源和dotNet安装包资源 增加的资源也是需要标明ID的 因为宿主程序会根据约定好的ID来得到这些资源 EditId参数就是这些资源的

32220

Application主程序对象方法(三)

) 所有参数均为可选,接受GetOpenFilename方法返回值的变量必须定义为Variant类型。...2、参数FilterIndex,指定默认文件筛选条件的索引值,即在“文件类型”框中显示的文件类型,索引值从1至参数FileFilter中指定的筛选条件数。默认情况下,使用第一个文件筛选条件。...(也可以将GetOpenFilename参数,用变量分离出来,方便修改。) ---- 示 例 二 下面示例将选择多个文件,获得多个文件的地址,立即窗口中显示。...由于方法的最后参数选择true,弹窗中无论选择一个还是多个,返回值strname是一个数组,而如果点击取消,则返回false字符串。...如果strname经过判断是数组,这里lbound和ubound是函数用于获得数组的下界和上界(可以理解为最小值和最大值)示例中选择了两个文件,即变量i从1到2。

1.5K20

python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例

(self.btn) #创建标签,添加到布局中 self.le=QLabel('') layout.addWidget(self.le) #创建按钮,绑定自定义的槽函数...代码分析 在这个例子里,通过文件对话框来选择文件,其中第一个文件对话框只允许打开图片文件,并把加载的图片显示标签上,第二个文件对话框只允许打开文本文件,并把打开的文本内容显示文本框内 第一个按钮使用...QFileDialog.getOpenFilename(),调用文件对话框来显示图片,并显示一个标签控件中,它负责打开c盘目录下的为文件,核心代码如下 #从C盘打开文件格式(*.jpg *.gif *...*.gif *.png *.jpeg)') #设置标签的图片 self.le.setPixmap(QPixmap(image_file)) QFIleDialog.getOpenFileName()...函数中 第一个参数self:用于指定父组件 第二个参数‘open file’:是QFileDialog对话框的标题 第三个参数‘C:\’默认打开的目录,‘.’代表程序运行的目录,‘/’代表当前盘下的根目录

2.4K11

二、Qt定时器与文本编辑器制作《QT 入门到实战》

需要在头文件中声明槽函数 cpp 文件中实现槽函数 以及使用 connect 方法连接 menu 以及槽函数。...> 随后 openActionSlot 槽函数中使用 QFileDialog 调用 getOpenFileName,其中 getOpenFileName 一般接收 4 个参数,第一个是资源选择框的父对象是谁...,我们可以指定为 this 表示当前程序;第二个参数是一个提示语;第三个参数为资源选择框打开后的默认路径;第四个参数是打开后显示哪些文件。...既然类型,那么我们进行保存时的流程都是要打开资源选择框,选择某一个位置进行内容保存,那么铁定是使用 Dialog,之前是使用 getOpenFileName,是 open操作,那么此时就是 save...在此基础还学习了什么是 menu 以及什么是 menu 的 action,并且 action 通过使用取地址符的方式创建了对应的快捷按钮,使其文本编辑器的操作更加的方便,这一节还学习了对应的定时器

94920

04 qt功能类、对话框类和文件操作

一 QT中时间和日期 时间 ---- QTime 日期 ---- QDate 对于Qt而言,实际的开发过程中, 1)开发者可能知道所要使用的类 ---- >帮助手册 —>索引 -->直接输入类名进行查找...2)开发者可能不知道所要使用的类,只知道开发需求文档 ----> 帮助 手册,按下图操作: 1 QTime 头文件:#include 模块:项目的pro文件中,查看是否包含模块...创建时间的对象的方式有两种:构造函数----- 指定一个时间 通过静态成员函数—currentTime() — 获得当前操作系统的本地时间 功能: 1)直接获取操作系统的时间 [static]...//给时间对象设置时分秒 inthour() const intminute() constintmsec() const QTimeaddMSecs(int ms) const// 在给定的时间基础,...增加指定的毫秒QTimeaddSecs(int s) const// 在给定的时间基础,增加指定的秒 二 日期类 QDate 功能:获取系统当前的日期 创建对象的方法: 1)构造函数:QDate(

18010

Application主程序对象方法(四)

GetSaveAsFilename方法 Application对象的GetSaveAsFilename方法,可以打开一个标准的“另存为”对话框,该对话框中用户可以选择(或输入)一个文件名,该方法只返回文件名及其路径...如果省略本参数,则默认参数值为“所有文件 (*.*), *.*”。和上节介绍的GetOpenFilename方法的第一参数一样。 由文件筛选字符串和通配符表示的文件筛选规则说明组成,中间用逗号隔开。...如果省略本参数,或者取值大于可用筛选数目,则采用第一个文件筛选条件。 4、参数Title ,指定对话框标题。如果省略本参数,则使用默认标题。 5、参数ButtonText,不用。...---- 本节主要介绍了application主程序对象的GetSaveAsFilename方法,参数和上节介绍的GetOpenFilename方法类似。...至此常用对象的大部分属性和方法都介绍完,其他不常用的对象的属性和方法后期会视情况再补充,后面将开始介绍VBA事件、数组、函数等内容,祝大家学习快乐。 ----

1.5K20

详解Windows Shim的攻防利用

对于第三方软件商来说,这基本就是不可能完成的任务。 一个Vista运行得好好的程序很可能在win7下无法运行。因为一个极小的API改动都可能让该程序崩溃。...比如下图,SDK6.0(Vista)和SDK7.1(win7)下,clusapi.dll 里的CreateCluster() 的参数不一致:新版本的CreateCluster()没有tAcceptPartialFailure...这个参数,导致该程序多push进一个参数,这会使该函数在运行时发生不可预见的问题。...简而言之,当一个应用程序开始运行的时候,Shim把导入地址表(IAT)里的系统DLL库函数地址用ShimDLL里的函数地址来替换,从而可以透明的拦截其API调用,修改其传递的参数等等。...比如修改操作系统的版本号,修改API参数,禁用某些功能等等。 做一个小实验,win7下随便找一个带窗口的可执行文件,把文件名改为”3D Frog Frenzy.exe”。

2.4K70

漏洞丨CVE20102883

这个漏洞是Adobe Acrobat Reader软件中CoolType.dll解析字体文件SING表中的uniqueName字段的调用了strcat函数,但是对参数没有做出判断,没有检查uniqueName...、环境准备虚拟机调试工具目标软件16进制编辑器Win7X86SP1、KaliIda、x32dbgAdobe Acrobat_Reader 9.0010Editor三、漏洞复现使用MSF生成EXP:然后Win7...四、漏洞分析首先我们需要做几个准备工作,1、改掉随机基址,省的麻烦,把用010Editor打开Adobe,修改如下地方:2、把软件拖调试器中,忽略程序自身异常(因为我这边调试器接管异常,导致程序运行不下去...,所以需要忽略)接下来就是正儿八经分析了,因为已知漏洞问题是CoolType.dll,直接在安装文件夹下找到这个dll,拖到Ida中:然后Alt+T,搜索sing:双击到标记的一条:下面这一坨就是漏洞溢出的地方...,然后堆栈窗口中转到EBP,观察溢出情况:我们先看看strcat函数的俩个参数,堆栈中转到ESP,可以看到,源数据和要拷贝的地址,而要拷贝的地址就是EBP:然后走过strcat函数,观察EBP的位置,

34120

探索 dotnet core 为何在 Windows7 系统需要补丁的原因

一些 Windows 7 系统,根据 dotnet 官方文档,需要安装上 KB2533623 补丁,才能运行 dotnet core 或 .NET 5 等应用。...为什么 dotnet core 一系都有此要求?而且还不是对所有 Win7 系统都有此要求,这是为什么?...咱编写的 Main 函数非单文件模式下,是放在同名的 dll 里面。...根据官方文档的描述,调用此函数,如果加入了 LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR 参数,将要求 KB2533623 补丁 If this value is used, the...通过如上描述,可以了解到, dotnet core 需要补丁的原因是调用了 Kernel32.dll 的新(大约10年前加的)函数,对于一些 Win7 旧设备,没有更新 Kernel32.dll 加上函数

13810

探索 dotnet core 为何在 Windows7 系统需要补丁的原因

一些 Windows 7 系统,根据 dotnet 官方文档,需要安装上 KB2533623 补丁,才能运行 dotnet core 或 .NET 5 等应用。...为什么 dotnet core 一系都有此要求?而且还不是对所有 Win7 系统都有此要求,这是为什么?...咱编写的 Main 函数非单文件模式下,是放在同名的 dll 里面。...根据官方文档的描述,调用此函数,如果加入了 LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR 参数,将要求 KB2533623 补丁 If this value is used, the...通过如上描述,可以了解到, dotnet core 需要补丁的原因是调用了 Kernel32.dll 的新(大约10年前加的)函数,对于一些 Win7 旧设备,没有更新 Kernel32.dll 加上函数

2.2K30

PyQt5 从零开始制作 PDF 阅读器(一)

导入 # 导入 PyMuPDF import fitz 本节中,我们只需了解以下几个基本操作: fitz.open() 函数用来读取 PDF 文件内容,doc.loadPage() 函数用来获取具体某一页的信息...首先构建 QImage 对象,通过 convertFromImage 函数将 QImage 对象转化为可显示对象。...我们通过 getOpenFileName() 函数来获取文件地址,self 后面的三个参数分别是窗口名称,文件默认路径以及支持的文件类型。这个函数返回文件的地址。...首先获取图书 booklist 中的索引, booklist 中删除该元素。接着清空选中单元格之后(包含选中单元格)的所有单元格的内容。...最后将 booklist 中 index 之后的图书地址重新显示到 table 。简单地说,就是删除选中单元格,并将之后单元格向前挪一位。

4K31
领券