前言 做文档转换的时候,使用Java调用COM接口的时候,如果文档中有字体没有的话,在转换的时候会弹窗,导致转换卡死,再加上转图片还需要装额外的软件,比较麻烦。...所以就直接用C#开发了一个可执行程序来做这个操作,其他语言只需要调用这个EXE即可。 Java调用 在Java中,可以使用Runtime类的exec()方法来调用可执行文件(如.exe文件)。...例如,以下代码演示了如何调用一个名为myProgram.exe的可执行文件,并将传递给它的参数作为字符串数组传递: import java.io.*; public class ExecDemo {...public static void main(String[] args) { try { // 调用myProgram.exe并传递参数...Process proc = Runtime.getRuntime().exec("myProgram.exe arg1 arg2 arg3"); //
因为如果不用_declspec(dllimport)来说明该函数是从dll导入的,那么编译器就不知道这个函数到底在哪里,生成的exe里会有一个call XX的指令,这个XX是一个常数地址,XX地址处是一个...这个可能不是很重要,因为可以自己在调用函数的时候设置函数调用的规则。像VC就可以设置函数的调用方式,所以可以方便的使用win32汇编产生的dll。...不过__stdcall这调用约定会Name-Mangling,所以我觉得用VC默认的调用约定简便些。...编译dll后会产生一个dll文件和一个lib文件,如果是运行时动态调用的方式只使用dll文件就行,如果要在编译时以库的形式提供给exe调用则需要lib文件。 编写exe调用dll 项目结构: ?...利用LoadLibrary动态加载dll的方式 这种方式需要明确指定dll的位置,而不是程序根据环境变量配置自己寻找(上面的方式中并没有指明dll的位置,exe和dll同目录会自动搜索加载)。
调用的exe路径,不允许出现空格 下面是使用示例: 1 using System; 2 using System.Runtime.InteropServices.Automation; 3 using...private void LaunchMyApp(object sender, RoutedEventArgs e) 32 { 33 CallExe(@"C:\exe...\cpu-monitor.exe"); 34 } 35 36 37 private void LaunchNotepad(object sender, RoutedEventArgs...e) 38 { 39 CallExe(@"notepad c:\\test.txt"); 40 } 41 } 42 } 除调用本机exe...外,其实还能干很多其它事情,比如读取Windows注册表,调用本机Com组件完成指定的功能...
实现 1、添加引用 using System.Runtime.InteropServices;//调用外部的DLL 2、定义win32API //调用exe [DllImport("kernel32.dll...generateExecuteData_ItemClick(object sender, ItemClickEventArgs e) { WinExec(@"C:\ExecuteRecords\OrdersExecutionRecords.exe...方法成功,返回>31的整数值; 方法失败,返回: 返回结果 说明 0 系统内存或资源不够 ERROR_BAD_FORMAT 非法的exe程序 ERROR_FILE_NOT_FOUND 文件未找到 ERROR_PATH_NOT_FOUND...2.1lpCmdLine 搜索顺序: 1、参数指定路径 2、应用所在路径 3、当前路径 4、system路径(可调用GetSystemDirectory方法查询) 5、window路径(可调用GetWindowsDirectory
正文 在桌面端开发时,有些系统级的配置无法通过代码直接修改,我们就要打开对应的页面,让用户进行操作 设置音频设备 rundll32.exe shell32.dll,Control_RunDLL Mmsys.cpl...# 扬声器 rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0 # 麦克风 rundll32.exe shell32.dll,Control_RunDLL...rundll32 shell32,Control_RunDLL 打开关于 查看系统版本 rundll32 shell32,ShellAboutA Info-Box 打开应用卸载页面 rundll32.exe...shell32.dll, Control_RunDLL Appwiz.cpl 重启 rundll32.exe user.exe,restartwindows 关机 rundll32.exe user.exe
那么我们可以写个批处理,来实现快速开启两个 U C和一个 QQ 程序 免去了程序的每次单个点击 在桌面上新建个记事本,在里面写上下面这段代码: start "UC" "c:Program FilessinaUCuc.exe..." & start "UC" "c:Program FilessinaUCuc.exe" & start "QQ" "c:Program FilesTencentQQCoralQQ.exe" 说明:...前面的start是调用程序的代码。..." " 里是要调用的程序名 后面的" "里是该程序的绝对路径 程序的路径可以右键点击该程序的快捷方式。
而有了DLL后,可以让VC程序员写一个DLL,然后VB程序员在程序中调用,无需为怎么将它们都编译为一个单独的EXE而发愁了。...求知若渴:探究DLL的真相 谁知道DLL里究竟有多少函数,又有谁知道EXE调用了哪个DLL的哪些函数?其实,这个问题并不难解决。...2.审审EXE究竟用了哪个DLL 还是拿QQ来作为例子,在Depends中打开QQ.exe,这时界面左侧的树状列表中显示的就是QQ.exe调用的DLL列表(见图2),如果展开这些DLL分支,还会发现其他的...上面的例子中,搬运工A改进搬运方法,但EXE调用它的方法仍不变,这就是DLL升级的原理,改进了内部的实现方法,但调用接口不变,这样EXE文件不用跟着升级,就能调用新版本的DLL了。...而搬运工B的故事告诉我们,不管新版本的DLL效率多高,如果接口(可以理解为DLL中输出的函数名)与原来的不一致,那么EXE就不知道也无法调用它了。
主函数首先调用ProcCommandLine()对命令行进行分析,获得要启动的服务组,然后调用SvcHostOptions()查询该服务组的选项和服务组的所有服务,并使用一个数据结构 svcTable...FuncServiceMain(),最后调用API StartServiceCtrlDispatcher() 注册这些服务的调度函数。...这个函数使用 svcTable 查询要启动的服务使用的DLL,调用DLL导出的ServiceMain()函数来启动服务,然后返回。...为了方便使用rundll32.exe进行安装,还提供了RundllInstallA()和RundllUninstallA()分别调用InstallService()及UninstallService()...Svcs: RpcSs 640 cmd.exe Title: C:/WINNT/System32/cmd.exe 1360 svchost.exe Svcs:
另外注意编码问题 // 完美运行之后,改为 cmd /c // 每次修改结束双击运行加入注册表 2、调用方式 1.a标签 // 前缀与注册表注册的协议一致 --"openupload"-- 测试调用cmd 2.js // 前缀与注册表注册的协议一致 --"openupload"-- window.open("openupload://test..."); 3、其他 最小化打开cmd // 例:start /min npm start start /min * 关闭当前cmd命令窗口 // 适用:* && taskkill /im cmd.exe...taskkill /im cmd.exe 隐藏cmd命令窗口 // 使用vbs文件运行cmd,达到隐藏命令窗口的效果,vbs文件(注意编码) // windows新建txt,修改后缀vbs。...双击/cmd皆可运行 set ws=WScript.CreateObject("WScript.Shell") ws.Run "cmd.exe /c *",0
项目的需要是这样,用C++和opencv写的车牌检测方法,打包成一个exe文件,然后用java调用这个exe文件。...这个需求本来很普通,就是个exec()函数的事,但是由于种种原因,vs2013编写的C++程序无法打包成一个可以单独执行的exe文件,这个exe放在工程目录下双击,是可以正常执行的,但是用java调用后出现了一个很奇怪的现象...工程目录是这样: 双击的结果是这样: 调用的代码如下: Process process= Runtime.getRuntime().exec("F:\\aa\\demo")...; aa是工程目录,之所以出现这样的问题,是因为exe无法单独执行,需要读取本目录下的一些文件,而上面的代码是用来调用一些可单独执行的exe文件,然后把代码修改成这样: Process process...文件这句话,因为这时的exe文件无法单独执行。
方法一、os.system() 会保存可执行程序中的打印值和主函数的返回值,且会将执行过程中要打印的内容打印出来 import os main = "project1.exe" r_v = os.system...commands.getstatusoutput() 会保存可执行程序中的打印值和主函数的返回值,但不会将执行过程中要打印的内容打印出来 import subprocess import os main = "project1.exe...print (out) 方法三、popen() 会保存可执行程序中的打印值,但不会保存主函数的返回值,也但不会将执行过程中要打印的内容打印出来 import os main = "project1.exe
----需求 最近同事使用Python开发了一款智能文字转语音的程序,经讨论部署在WINDOWS环境服务器下,因此需要生成目标为可执行程序文件,即EXE文件。...需要在WEB应用程序里进行调用,并传递相关参数。...Windows Server 2019 DataCenter .net版本: .netFramework4.7.1 或以上 开发工具:VS2019 C# 可执行文件的设计 可执行文件 edgetts.exe...: edgetts.exe 要转换的文件名 [-s 声音参数 -p 音调参数 -r速度参数 -v 音量参数] 调用举例: edgetts d:\tts\test.txt edgetts d:\tts...为 true 的时候表示可以尝试调用一切可以调用的程序,但不限于EXE文件。
AppDomain.CurrentDomain.BaseDirectory + "Install.sql"; //sql脚本路径 //执行 textBox1.Text = CommandLine("osql.exe...", args); } #region 调用命令行工具 /// /// 调用命令行工具 /// </summary... { return CommandLine(name, "", args); } /// /// 调用命令行工具
可以在Windows、Mac OS X和Linux上使用,但是并不是跨平台的,而是说你要是希望打包成.exe文件,需要在Windows系统上运行PyInstaller进行打包工作;打包成mac app,
ConsulClient\Parameters"; /// /// 通过注册表注册Consul Agent服务 /// /// exe...所在文件夹 /// consul.exe,exe物理路径 private static void ConsulClientRegEdit...= null) root.DeleteSubKeyTree(subkey); } } 2.instsrv.exe srvany.exe启动服务 string consulExeLocal = DefautToolsRelyHelper.Consul...+ "\\consul.exe"; string srvanyPath = DefautToolsRelyHelper.Srvany + @"\srvany\srvany.exe"; string instsrvPath...= DefautToolsRelyHelper.Srvany + @"\srvany\instsrv.exe"; CheckRelyTools(consulExeLocal, srvanyPath,
/data.dat"; /** * 调用exe 配置文件 地址 */ public final static String config = "..../CloseLoopCalDllExe/CloseLoopCalEXE.exe"; /** *开环个节点 支路 稳态潮流数据 地址 */ public final.../data_pso.dat"; /** * 调用exe合理性分析配置 */ public final static String reasonableConfig.../data.dat\n#Method\n1"; /** * 调用exe可信性分析配置 */ public final static String feasibleConfig.../data.dat\n#Method\n2"; /** * 调用exe优化分析配置 */ public final static String optimalConfig
py2exe可以将Python程序打包成exe程序,使得可以在没有Python环境的机器上运行。...# 为了打包成exe运行的时候能够看清楚,不会一闪而过 sleep(10) 下载py2exe: pip install py2exe 编写setup.py...文件: from distutils.core import setup import py2exe INCLUDES = ['hello_test'] options = { "py2exe...'hello_test.py'}] # 生成一个控制台形式的exe程序,对应的有windows=[],生成GUI形式的exe程序 ) 具体的参数在代码注释里面已描写,更多参数含义可自行搜索...然后使用python命令生成: python setup.py py2exe 然后在项目根目录会生成dist文件夹,里面就有刚打包好的exe程序: 双击启动: 版权声明
1 /* 2 * 运行可执行文件:.exe 3 * 当要执行一个本地机器上的可执行文件时, 4 * 可以使用java.lang包中的Runtime类,首先使用Runtime类,首先 5...* 使用Runtime类声明一个对象 6 *{ 7 * Runtime sc =Runtime.getRuntime(); 8 * sc可以调用exec(String command...9 * } 10 */ 11 12 13 /* 14 * 不妨举列: 15 * 运用RUntime调用对象打开Windows平台上的记事本程序和浏览器。...启动记事本文件 28 File myfile =new File("c:\\Windows","Notepad.exe"); 29 mt.exec(myfile.getAbsolutePath
windows无exe 加载脚本方式 恶意脚本加载 powershell mshta.exe CScript.exe&WScript.exe Windows原生工具加载 regsvr32.exe dll...sct certutil.exe winrm.vbs msiexec.exe wmic.exe pubprn.vbs 参考 加载脚本方式 利用Windows自带的解析器:PowerShell、VBScript...、批处理文件和JavaScript,对应的应用程序分别为powershell.exe、cscript.exe、cmd.exe和mshta.exe。...利用上传或远程加载对应payload脚本,直接调用解析器运行(可以使用Invoke-Obfuscation或者 Invoke-DOSfuscation 等进行混淆) 用Windows自带的工具或脚本等原生工具实现执行恶意代码...、启动程序、执行脚本、窃取数据、横向扩展、维持访问等,常用的有regsvr32.exe、rundll32.exe、certutil.exe、schtasks.exe、wmic.exe等,脚本类型的有:winrm.vbs
py打包成exe如何打的足够小 Python脚本不能在没有安装Python的机器上运行,如果我们想把自己的脚本分享给没有python环境的小伙伴使用,这个时候就需要将脚本打包成exe文件,即使使用方电脑没有安装...python解释器,这个exe也能在上面运行。...Pyinstaller -F -w py_word.py # 不带控制台的打包 Pyinstaller -F -w -i chengzi.ico py_word.py # 打包指定exe图标打包...另一个是可以自己生成,这里就给大家分享一个网站,可以把其他格式图片转成ico格式:https://app.xunjiepdf.com/img2icon/ 二、压缩打包 假如生成的exe太大,怎么转换的小一点...Python打包exe,不但体积大而且运行慢。解释型语言相对较慢。要解决大而慢,只能用编译型语言,如C,C++,甚至VB都好很多,体积最小的是汇编。
领取专属 10元无门槛券
手把手带您无忧上云