QT-Process
文章平均质量分 61
冷月醉雪
这个作者很懒,什么都没留下…
展开
-
QProcess与外部程序的调用(可以通过设置管道来交互)
目录启动外部程序的两种方式:启动之前需要做的工作启动状态QProcess 与 QIODevice 交互Synchronous Process API (同步进程API)启动外部程序的两种方式: 1)一体式:void QProcess::start(const QString & program, const QStringList & a...原创 2018-08-02 20:13:04 · 1880 阅读 · 1 评论 -
获得进程ID和句柄与进程的公司名(使用快照和GetPeFileCompany和VerQueryValueW等函数)
WORD GetProcessIdByName(WCHAR *processName){ DWORD processId = 0; HANDLE hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if(hProcessSnap==INVALID_HANDLE_VALUE){ ret...原创 2018-08-02 20:01:30 · 434 阅读 · 0 评论 -
Single Application
如果限制一个程序同时只能启动一个实例,有几个可以使用的库 QtSingleApplication 以前可以免费使用,后来只有商业版能里能用,在 Github 上也有一个 LGPL 协议的实现,地址为https://github.com/qtproject/qt-solutions/tree/master/qtsingleapplication SingleApplica...原创 2018-08-05 17:50:09 · 1118 阅读 · 0 评论 -
QProcess 进程间交互
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QtGui> class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = 0); ~MainWindo...原创 2018-08-05 17:01:07 · 1307 阅读 · 0 评论 -
App自重启及关闭子窗口
1.Qt结构int main(int argc, char *argv[]) { QApplication a(argc, argv); MyWidget w; MyDialog dialog; //新建MyDialog类对象 if(dialog.exec()==QDialog::Accepted)...原创 2018-07-26 20:18:18 · 611 阅读 · 0 评论 -
进程间通信 - 动态链接库中共享内存(利用DLL的2~3G的地址段空间)
前言 进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据,以及其他的一些资源组成。32位系统的进程分配4G的虚拟地址空间。内存地址范围是0x00000000~0xFFFFFFFF。这个内存地址空间是每个进程独立的,也就是说,在一个进程中是不能访问其他进程的地址空间的。 举个例子,进程A的内存里保存了一个数据,假设这个数据的地址是0x33333...原创 2018-07-26 10:22:42 · 743 阅读 · 0 评论 -
隐藏system窗口你也行(就是那个cmd窗口,好多方法)
1. WinExec(LPCSTR, UInt)函数 其第一个参数相当于system函数的参数,第二个参数可以设置窗口是否显示,SW_HIDE这个宏表示隐藏窗口,例如: WinExec(cmd.c_str(),SW_HIDE);//cmd(string类型)中为我们要调用的程序名及其参数, 如 “dir *.exe ” 但是这个有一个问题,这个函数创建...原创 2018-07-26 10:22:31 · 12391 阅读 · 5 评论