ShellExecute执行没有反应

ShellExecute、ShellExecuteEx和SHELLEXECUTEINFO 的使用 1、首先是SHELLEXECUTEINFO结构体的说明: 在MSDN中: Contains information used byShellExecuteEx. typedef struct _SHELLEXECUTEINFOA { DWORD cbSize; ULONG fMask; HWND hwnd; LPCSTR lpVerb; ... 阅读详情

ShellExecute执行没有反应
作者:ImMcss 欢迎转载,请以超链接形式保留原文地址

最近在使用ShellExecute打开网页的时候,网址正常的时候,程序可以正常打开网页,使用代码如下。
std::string url = "http://jp.msn.com/";
........
ShellExecute(NULL,NULL,url.c_str(),NULL,NULL,SW_SHOWNORMAL);
但是如果传递一个比较不正常网址时候,ShellExecute执行后没有任何反应,这样的话感觉程序一点反应都没有,
感觉比较奇怪,即使有错也要来点反应吧。
于是做了如下修正
std::string cmd =  "iexplore/"" + url  + "/"";
........
ShellExecute(NULL,NULL,cmd .c_str(),NULL,NULL,SW_SHOWNORMAL);
最后做了如下修正后,程序正常打开IE,当然网页是不能打开,IE提示错误。
 ShellExecute(NULL,"Open","IExplore",url.c_str(),NULL,SW_SHOW);
 

 

 

http://www.vckbase.com/document/viewdoc/?id=416
http://www.e-techstudios.net/blog/article.asp?id=100

Win10计算器真正快捷键:任务栏索引与ShellExecute原理 计算器作为Windows基础系统工具,其启动机制涉及操作系统级UI服务调度、任务栏应用索引和ShellExecute协议调用等底层原理。理解这些机制,有助于摆脱‘Win+R→calc’这类伪快捷操作,转向更高效、低延迟的触发方式。Win+数字键本质是任务栏钉住应用的实例索引直连,依赖Explorer进程的句柄数组管理;而命令行参数(如/t、/s)和calculator: URI协议则提供无需GUI交互的程序化调用能力。这些技术价值在财务核验、开发调试、自动化办公等高频计算场景中尤为突出——尤其当需结合Pow 阅读详情

相关推荐

VC++发送邮件的三种实战路径:ShellExecute/MAPI/SMTP

在Windows平台,C++程序发送邮件本质是调用系统级通信能力,而非语言特性本身。其核心原理在于利用操作系统提供的邮件协议接口(如mailto URI)、本地邮件客户端API(MAPI)或网络协议栈(SMTP)实现消息投递。技术价值体现在脱离脚本环境、保障密码安全、满足等保合规要求,尤其适用于工业控制、嵌入式告警、本地化部署等无云依赖场景。本文聚焦Visual Studio环境下C++ Win32程序的邮件集成,详解ShellExecute协议调用、MAPI静默发送与Poco SMTP自主发信三大路径的选

weixin_34059951的博客 397

用ShellExecute执行cmd命令遇到的问题总结

1、如果命令中的路径包含空格,要把路径去掉头尾用双引号包含起来。 例:strPath = “”D:\\\"te st\\\"test.exe;(用“\”进行字符转义) 2、用变量传命令的时候,要在命令字符开始加上"/c",不然命令不会执行。 例:strCommand = "/c " + "date"; ShellExecute(NULL, "open", "

helinsen的专栏 1万+

MFC应用中用ShellExecute启动系统默认PDF/Word阅读器的完整工程示例

一个基于VC6.0开发的MFC单文档应用程序,实现在Windows平台下通过ShellExecute API调用系统默认程序打开本地.doc和.pdf文件。项目包含标准MFC类结构(MainFrame、ChildFrame、Document、View),核心功能集中在ShowWordView.cpp中实现路径传入与ShellExecute调用,同时提供webbrowser2.cpp作为WebBrowser控件嵌入方式的备选方案。工程已编译生成可直接运行的ShowWord.exe,不依赖外部运行库;配套资源涵

terraform7cloud的博客 254

在MFC中弹出txt文件

在c++ mfc中有时候需要弹出文件。 弹出txt文件: ShellExecute(NULL, NULL, _T("use\\result.txt"), NULL, NULL, SW_SHOWNORMAL);   ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。     ShellExecute

yuexin2的专栏 1672

Delphi用DOSCommand执行外部命令:从同步到异步的完整指南

在图形界面程序中执行外部命令行工具是常见需求,例如调用Git、FFmpeg或压缩工具。其背后涉及进程创建、标准输入输出重定向、管道读取等底层机制,若直接用ShellExecute或CreateProcess封装,往往会遇到死锁、界面卡死和编码乱码等棘手问题。一个成熟的解决方案是通过专用组件来管理进程生命周期和输出流。Delphi作为经典桌面开发工具,其生态中的DOSCommand组件正是为此设计。它封装了CreateProcess、管道重定向和异步线程读取,通过事件回调将实时输出传递给界面层,从而简化了同步

weixin_34013044的博客 2559

全面分析总结解决Could not transfer artifact org.apache.maven.plugins等此类问题的方法

全面分析总结解决Could not transfer artifact org.apache.maven.plugins,Could not transfer artifact xxx from/to xxx等此类问题的方法

ccjjjjdff的博客 1万+

启动、关闭外部进程ShellExecute() 、CreateProcess()、TerminateProcess()、OpenProcess()==

学习用到了启动、关闭外部进程的知识,通过网上资料及自身实践作如下总结: 主要用到:ShellExecute() 、CreateProcess()、TerminateProcess()、OpenProcess()== 1.ShellExecute( hWnd: HWND; {指定父窗口句柄} Operation: PChar; {指定动作, 譬如: open、runas、pr

u010439291的专栏 1万+

SDM量化噪声等效到PLL输出的传递函数推导

在历年文章或书本中少见SDM量化噪声等效到PLL输出的传递函数推导。需了解SDM量化噪声的本质,配合欧拉方程简化,并将Z域转化成S域。最终结合断环处等效到PLL输出的传递函数,方可完成。

u010486560的博客 1407

shellexecute启动程序出错

ShellExecute执行,程序报错。required application data could not be found.

Mingyueruya的专栏 1899

利用按键精灵实现批量截图与智能命名的高效工作流

本文详细介绍了如何利用按键精灵软件构建高效的批量截图与智能命名自动化工作流。通过基础脚本编写、循环逻辑实现及高级命名策略,解决手动操作耗时易错的问题,帮助用户实现一键自动截图、智能保存与文件重命名,大幅提升软件测试、教程制作及数据报告等场景的工作效率。

weixin_29268267的博客 569

波分复用技术原理

波分复用原理 把不同波长的光信号复用到同一根光纤中进行传送,这种方式我们把它叫做波分复用( Wavelength Division Multiplexing ) 一根光纤被划分为多个波道,多个波长以一定的间隔隔开,在光纤中独立传输。 波分复用应用演示 如果将WDM系统看作交通系统,光纤可以看作是多个车道的公用道路。 各种类型的业务就像货物一样,被打包装载到车辆中。 车辆按照分配的车道行驶至目的地,完成货物的运输。 想要提高波分复用系统的传输容量,就要增加波道数量或是提升单波传...

m0_63251770的博客 9997

VC 打开批处理文件 可以看到dos窗口,但是执行后没有效果

 使用ShellExecute打开的bat文件 ShellExecute(NULL,"open",strNPath,"","",SW_SHOW); 想删除vc6工程debug文件夹下的一些调试文件,dos窗口可以打开,但是要没有执行任何操作,批处理文件时没有问题的,我手工打开可以成功执行。 可能是批处理里面文件的路径有问题: 1、在手工执行时无论是\还是/都可以被操作

Keivin 4485

短信验证码逻辑漏洞学习——各种绕过姿势技巧

短信验证码逻辑漏洞学习——各种绕过姿势技巧

记录并分享学习安全的知识点.. 2556

VB ShellExecute 函数应用技巧

VB ShellExecute 函数应用技巧 2010年05月24日   Flex data provider | PV3D第一个测试文件   ShellExecute   声明:   Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hWnd As L...

vq701vq 296

模拟电路综合笔试题解析

本专栏预计更新60期,当前为第10期,文章约6000字,旨在帮助读者掌握模拟电路笔试的核心知识点与实战技巧。文章分为五个章节,涵盖基础理论、高频考点、大厂题目解析等内容。首先,文章详细解析了DC-DC与LDO的区别及选型依据,并通过真题分析帮助读者理解其应用场景。接着,文章深入探讨了运放电路设计、同步降压电路设计等高频考点,并结合实际案例提供解决方案。此外,文章还分享了特斯拉、华为、大疆等大厂的面试题及解析,帮助读者应对复杂电路设计挑战。最后,文章总结了模拟电路设计中的关键技巧与优化方法,为读者提供全面的笔

启芯硬件的博客 469

面向干净核心的并行扩展:SAP BTP 上的 side-by-side extensions 全面解读

摘要: SAP的side-by-side extensions是一种与核心系统解耦的云原生扩展模式,通过API和事件驱动实现与SAP S/4HANA等核心系统的松耦合集成。该模式支持独立升级、弹性扩展和高效创新,是SAP官方推荐的clean core关键实现路径。其典型架构包括接口层(OData/REST API、事件通道)、运行层(Cloud Foundry/Kyma/CAP框架)和体验层(Fiori/UI5)。适用场景包括需快速迭代、复用云服务或服务外部用户的业务扩展。实施时需关注安全治理(如XSUAA

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 305

C++跨平台打开网页:ShellExecute与system函数实战指南

在软件开发中,进程间通信与系统调用是连接不同应用程序的关键技术,尤其在桌面应用与自动化工具开发中,程序需要能够启动并控制外部应用。其核心原理是通过操作系统提供的API,请求系统服务来执行特定操作,例如打开文件或访问网络资源。这项技术的价值在于实现了应用间的无缝协作,极大地扩展了单程序的功能边界,常见于自动化脚本、构建工具链及需要与浏览器交互的桌面软件等场景。本文聚焦于C++如何实现这一功能,深入解析了在Windows平台利用ShellExecute函数、在Linux/macOS平台调用system函数结合x

weixin_30706691的博客 379

ArcGIS Pro 3.4 二次开发 - 地理数据库

本文介绍了在ArcGIS Pro SDK 3.4和.NET 8环境下,如何操作地理数据库的多种方法。首先,通过路径打开文件地理数据库,并处理可能出现的异常。其次,使用连接属性或sde文件路径打开企业级地理数据库。此外,还展示了如何从项目项、要素图层中获取地理数据库,以及如何执行SQL语句。最后,文章详细说明了如何从地理数据库中获取单个定义或定义列表,包括表定义、要素类定义、关系类定义和要素数据集定义。这些操作均在后台线程中执行,确保应用程序的响应性。

Winemonk 944

delphi中ShellExecute使用详解

 有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。 1.CreateProcess因为使用复杂,比较少用。 2.WinExec主要运行EXE文件。如:WinExec('Notepad.exe Readme.txt', SW_SHOW); 3.ShellExecute不仅可以运行EXE文件,也可以运行已经关联的文件。 首先必须引用

chengs_的专栏 878

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

delphi 代码不执行_从Delphi代码执行和运行应用程序和文件

delphi 代码不执行 The Delphi programming language provides a quick way to write, compile, package, and deploy applications cross-platform. Although Delphi creates a graphical user interface, there are boun...

cumao2792的博客 770

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

执行shell命令,在脚本中直接执行有结果显示,赋值给变量然后打印却没有结果?

这种问题第一反应应该是有缓冲没有刷新出来,那为啥直接执行会显示,赋值执行的时候没有呢? 直接执行的时候,命令执行完成之后,强制刷新到界面 赋值执行的时候,因为执行命令后结果内容比较少,导致在赋值的时候因为缓冲内容不够所以没有刷新给变量,这个时候就需要强制刷新一下 定位这类问题最好的办法是:想办法让输出的数量比较大然后验证结论是否符合预期 ...

shyrainxy的专栏 1556

asp.net 实现打开文件所在的文件夹, 本地可以打开,发布后点击按钮没有反应的解决办法

此类情况大概是安全范畴的问题             确定上传文件夹的共享,iis  以及电脑帐户,以及aspnet 等是否有对应的相关权限             1.确认ASPNET 账户属于管理员级别             2.在“服务”里面找到“IIS Admin”,双击,“登录”,勾选“服务与桌面交互”。重启iis。  只要这样设置,不要去模拟administrator用户来

nyistzhang的专栏 3436

VB改造安装引导程序为通用下载器:ShellExecute实战

在Windows开发中,复用现有程序的下载能力常比从头实现更高效。安装引导程序本质是一个内置下载逻辑的模块,通过命令行参数控制下载地址与保存路径。利用ShellExecute API启动外部程序并传递参数,可将其改造为通用下载器,避免重写断点续传、校验等复杂逻辑。该方案适用于软件分发、批量下载等场景,尤其适合VB开发者快速集成。本文详解参数结构分析、编码转义处理及调用监控,帮助开发者掌握这一实用技术。

weixin_32705179的博客 222

Codex 跑 Delphi 超链接 ShellExecute 问题排查:Key 用 TaoToken

Delphi 点击 Image 无反应,先查 uses 是否漏引 ShellAPI、ShellExecute 第二参数是否写成 'open'。本文给出可复制代码与返回值判断,并用 TaoToken 的 Key 配 Codex 逐行核对 ShellAPI 调用,Base URL 填 https://taotoken.net/api,通道稳了排障更快。详见 https://taotoken.net/?utm_source=taotoken_aicg_blog_end

GreyWolf12的博客 67

导致sendto执行的时间过长的原因

1。我向一个指定的ip(端口也指定了)发送数据,sendto瞬间完成,即使拔掉网线也瞬间完成,但是当机器和一个会一直广播的相机直连时,我的sendto执行明显变长了很多,大概有1s。<br />2。我机器和相机通过公司的局域网相连sendto又正常了,但是自己用交换机搭建的局域网sendto还是执行很长时间<br />求解可能是你的局域网对于碰撞的检测有问题。另外相机的广播频率如何?你如果和相机广播直连,那么你的网卡就处于双工状态收发并行,你的网卡性能就成为关键了,这个没有啥理论结果的最近在这里有看到许多关

cl52155的专栏 4133

CVE-2023-38831漏洞复现:Windows解压逻辑缺陷与路径混淆攻击剖析

文件关联与路径解析是操作系统安全机制的基础组成部分,它们决定了系统如何根据文件扩展名启动对应的处理程序。其核心原理在于注册表中存储的关联映射,当用户打开文件时,系统会查询此映射并执行关联命令。这一机制的技术价值在于提供了无缝的用户体验,但逻辑缺陷可能导致严重的安全风险。在压缩文件处理场景中,系统需先将文件提取至临时目录,再根据关联启动程序。CVE-2023-38831正是利用了这一过程中的路径解析与时机博弈问题。攻击者通过构造包含同名文件夹和文件的特殊压缩包,利用**路径混淆**和**文件关联**的交互缺陷

weixin_33980459的博客 365
上一篇: 获取硬盘序列号和卷标序列号
下一篇: 如何让API回调你的VC类成员函数而不是静态函数
ShenRui
博客等级 码龄20年 63粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值