服务端启动EXE


HDESK
hdeskCurrent;
HDESK hdesk;
HWINSTA hwinstaCurrent;
HWINSTA
hwinsta;
hwinstaCurrent = GetProcessWindowStation();
hdeskCurrent =
GetThreadDesktop(GetCurrentThreadId());
//打开用户的winsta0
hwinsta =
OpenWindowStation("winsta0", FALSE,

WINSTA_ACCESSCLIPBOARD |
WINSTA_ACCESSGLOBALATOMS
|
WINSTA_CREATEDESKTOP |
WINSTA_ENUMDESKTOPS |
WINSTA_ENUMERATE
|
WINSTA_EXITWINDOWS |
WINSTA_READATTRIBUTES |
WINSTA_READSCREEN
|
WINSTA_WRITEATTRIBUTES);
//打开desktop
hdesk = OpenDesktop("default", 0, FALSE,

DESKTOP_CREATEMENU |
DESKTOP_CREATEWINDOW |
DESKTOP_ENUMERATE
|
DESKTOP_HOOKCONTROL |
DESKTOP_JOURNALPLAYBACK |
DESKTOP_JOURNALRECORD
|
DESKTOP_READOBJECTS |
DESKTOP_SWITCHDESKTOP
|
DESKTOP_WRITEOBJECTS);
SetThreadDesktop(hdesk);
ShellExecute(0,NULL,"D://test.exe",NULL,NULL,SW_HIDE);
SetProcessWindowStation(hwinstaCurrent);
SetThreadDesktop(hdeskCurrent);
CloseWindowStation(hwinsta);
CloseDesktop(hdesk);

时间: 2024-09-29 21:54:47

服务端启动EXE的相关文章

(二)Netty学习笔记之服务端启动

本文将不会对netty中每个点分类讲解,而是一个服务端启动的代码走读,在这个过程中再去了解和学习,这也是博主自己的学习历程.下面开始正文~~~~ 众所周知,在写netty服务端应用的时候一般会有这样的启动代码: (代码一) 1 EventLoopGroup bossGroup = new NioEventLoopGroup(1); 2 EventLoopGroup workerGroup = new NioEventLoopGroup(); 3 try { 4 ServerBootstrap b

zookeeper源码之服务端启动模块

服务端启动模块主要负责解析配置文件,启动服务器监听并执行zookeeper命令. 类图 QuorumPeerMain QuorumPeerMain是服务端主程序,主要功能是解析配置文件,启动zookeeper服务.内部使用QuorumPeerConfig来解析配置文件:使用QuorumPeer来解析命令:使用QuorumPeer来启动zookeeper服务. QuorumPeerConfig 解析properties配置文件zoo.cfg,主要获取一下信息: 配置 说明 dataDir 数据存放

原理剖析-Netty之服务端启动工作原理分析(下)

一.大致介绍 1.由于篇幅过长难以发布,所以本章节接着上一节来的,上一章节为[原理剖析(第 010 篇)Netty之服务端启动工作原理分析(上)]: 2.那么本章节就继续分析Netty的服务端启动,分析Netty的源码版本为:netty-netty-4.1.22.Final: 二.三.四章节请看上一章节 四.源码分析Netty服务端启动 上一章节,我们主要分析了一下线程管理组对象是如何被实例化的,并且还了解到了每个线程管理组都有一个子线程数组来处理任务: 那么接下来我们就直接从4.6开始分析了:

Netty服务端启动

Netty服务端启动过程 (1)创建服务端Channel:调用JDK底层的API创建一个JDK的Channel,然后netty将其包装成自己的Channel,同时创建一些基本组件绑定在此Channel上 (2)初始化服务端Channel:初始化一些基本属性,以及添加一些逻辑处理器 (3)注册selector:Netty将JDK底层的Channel注册到事件轮询器selector上面 (4)端口绑定:最终也是调用底层JDK的API实现对本地端口的监听 bind()[用户代码入口] initAndR

netty源码分析之服务端启动

ServerBootstrap与Bootstrap分别是netty中服务端与客户端的引导类,主要负责服务端与客户端初始化.配置及启动引导等工作,接下来我们就通过netty源码中的示例对ServerBootstrap与Bootstrap的源码进行一个简单的分析.首先我们知道这两个类都继承自AbstractBootstrap类 接下来我们就通过netty源码中ServerBootstrap的实例入手对其进行一个简单的分析. // Configure the server. EventLoopGrou

Netty 服务端启动过程

在 Netty 中创建 1 个 NioServerSocketChannel 在指定的端口监听客户端连接,这个过程主要有以下  个步骤: 创建 NioServerSocketChannel 初始化并注册 NioServerSocketChannel 绑定指定端口 首先列出一个简易服务端的启动代码: 1 public void start() { 2 EventLoopGroup bossGroup = new NioEventLoopGroup(1); 3 EventLoopGroup work

netty服务端启动--ServerBootstrap源码解析

netty服务端启动--ServerBootstrap源码解析 前面的第一篇文章中,我以spark中的netty客户端的创建为切入点,分析了netty的客户端引导类Bootstrap的参数设置以及启动过程.显然,我们还有另一个重要的部分--服务端的初始化和启动过程没有探究,所以这一节,我们就来从源码层面详细分析一下netty的服务端引导类ServerBootstrap的启动过程. spark中netty服务端的创建 我们仍然以spark中对netty的使用为例,以此为源码分析的切入点,首先我们看

【分布式】Zookeeper服务端启动

一.前言 前面已经了解了Zookeeper会话相关知识点,接着来学习Zookeeper服务端相关细节. 二.服务端 服务端整体架构如下 Zookeeper服务器的启动,大致可以分为以下五个步骤 1. 配置文件解析. 2. 初始化数据管理器. 3. 初始化网络I/O管理器. 4. 数据恢复. 5. 对外服务. 2.1 单机版服务器启动 单机版服务器的启动其流程图如下 上图的过程可以分为预启动和初始化过程. 1. 预启动 1. 统一由QuorumPeerMain作为启动类.无论单机或集群,在zkSe

rsync服务端启动报错rsync: link_stat "/etc/rc.d/init.d/–daemon" failed: No such file or directory (2)

问题描述 rsync服务端配置文件修改完成后.启动服务返回报错如下 [[email protected] init.d]# /usr/bin/rsync –daemon rsync: link_stat "/etc/rc.d/init.d/–daemon" failed: No such file or directory (2) rsync error: some files/attrs were not transferred (see previous errors) (code