allcnewsBLOGNEWSBLOGASKBLOGBLOGZSK全部技术问答问答技术问答it问答代码软件新闻开发博客电脑/网络手机/数码笔记本电脑互联网操作系统软件硬件编程开发360产品资源分享电脑知识文档中心IT全部全部分类全部分类技术牛文全部分类教程最新网页制作cms教程平面设计媒体动画操作系统网站运营网络安全服务器教程数据库工具网络安全软件教学vbscript正则表达式javascript批处理更多»编程更新教程更新游戏更新allitnewsJava新闻网络医疗信息化安全创业站长电商科技访谈域名会议专栏创业动态融资创投创业学院 / 产品经理创业公司人物访谈营销开发数据库服务器系统虚拟化云计算嵌入式移动开发作业作业1常见软件all电脑网络手机数码生活游戏体育运动明星影音休闲爱好文化艺术社会民生教育科学医疗健康金融管理情感社交地区其他电脑互联网软件硬件编程开发360相关产品手机平板其他电子产品摄影器材360硬件通讯智能设备购物时尚生活常识美容塑身服装服饰出行旅游交通汽车购房置业家居装修美食烹饪单机电脑游戏网页游戏电视游戏桌游棋牌游戏手机游戏小游戏掌机游戏客户端游戏集体游戏其他游戏体育赛事篮球足球其他运动球类运动赛车健身运动运动用品影视娱乐人物音乐动漫摄影摄像收藏宠物幽默搞笑起名花鸟鱼虫茶艺彩票星座占卜书画美术舞蹈小说图书器乐声乐小品相声戏剧戏曲手工艺品历史话题时事政治就业职场军事国防节日风俗法律法规宗教礼仪礼节自然灾害360维权社会人物升学入学人文社科外语资格考试公务员留学出国家庭教育学习方法语文物理生物工程学农业数学化学健康知识心理健康孕育早教内科外科妇产科儿科皮肤科五官科男科整形中医药品传染科其他疾病医院两性肿瘤科创业投资企业管理财务税务银行股票金融理财基金债券保险贸易商务文书国民经济爱情婚姻家庭烦恼北京上海重庆天津黑龙江吉林辽宁河北内蒙古山西陕西宁夏甘肃青海新疆西藏四川贵州云南河南湖北湖南山东江苏浙江安徽江西福建广东广西海南香港澳门台湾海外地区

C++ windows下如何不创建新进程去执行其他程序-CSDN论坛

来源:互联网  责任编辑:小易  时间:2017/11/22 17:25:28


C++windows下如何不创建新进程去执行其他程序-CSDN论坛

当然是让全世界女人都想出柜,雌雄同体美翻天的鲁比·洛斯(RubyRose)啦!从《生化危机》到《极限特工》,最近走进电影院的人,对RubyRose这个名字一定不陌生。她堪称新生代女星中的「动作担当」,同时也是霉霉的好闺蜜。自带一种「雌雄同体」的气质,从骨子里散发着性感和痞气,不知掰弯了多少迷弟迷妹。利落干练的短发、满眼花臂纹身,一个眼神就酷到没朋友。美起来照样风情万种,撩汉也不在话下。巧克力腹肌块配上维密版筷子腿,你想要的好身材她都有。没错,下面这张图,2个人都是她哟!从鲁比·洛斯出生以来,身边的人就对她的容貌赞美不已。但是这些年来没有人知道,在内心深处他希望自己是一个男孩。因为中性的打扮,R说薛姨妈是《红楼梦》中第一大反派,言重了。从整个大背景看,宁荣二府的总太上皇非老祖宗贾母莫属,宁府那边贾赦没正调玩炼丹成仙儿,全由贾珍当家,而这主又是一个彻头彻尾的淫棍,连自己儿媳妇儿都上,而她的背景又是那么特殊,注定宁府衰败。荣府贾政当家,书呆子一个纯属蠢才一枚。只是有个好宝贝女儿元春嫁了皇上。保(罩)住贾家一时繁荣。在这种大环境下,给诸多直系亲属带来荣华富贵,免受贫寒卑贱。林黛玉,贾母的亲外孙女,当然可以借光栖息亲舅舅家。薛姨妈及薛宝钗薛宝琴也因为是贾政的小姨子及女儿也可寄居。贾宝玉,荣府的未来继承人,首席大主子,谁要跟了他成了他老婆,意义之大不言而喻。那么,扣题的理由来了。薛姨妈当然要把

本网有用户碰到这样的问题:C++ windows下如何不创建新进程去执行其他程序-CSDN论坛,具体问题如下:

进程创建

题主您好!我记得我们小时候父母限制我们出去玩,一方面是因为那时候父母工作忙,家里孩子又不止一个,父母没有时间陪孩子出去玩,让孩子自己出去又不放心,不如让孩子自己在家看电视,起码没有什么危险;二是当年近。防恶意抓取,请查看原文,,真格学网提供内容。

本网根据需求用户需求,为用户寻得以下其他网友提供的解决方法,方法仅供参考,具体如下:

无非是想学乐视!毕竟天价转播合同还是要有人付出代价的!谁呢?自然是希望球迷接盘了!可是,PPTV好像接了不少广告,另外,清晰度真不怎么样,还习惯性卡顿……这些问题都没解决好就开始了付费模式!显然,少东。防恶意抓取,请查看原文,,真格学网提供内容。

解决方案1:

理解相机快门,记住3句话就OK很多同学在日常拍摄中,时常会遇到想拍清楚但是就是拍不清楚的问题,有些是照片中的人不清楚而环境清楚,有些是整张照片都不清楚。遇到这种情况时,有些同学就以为是自己的相机不好,。防恶意抓取,请查看原文,,真格学网提供内容。

Excute

以往带孩子都是习惯给孩子把屎把尿,因为这样会给大人规避很多因为孩子尿床而带来的麻烦。事实上,这样真的利于孩子的身心健康发展吗?随着医学和心理学的进步,现代越来越多的家长认识到这种做法的弊端。一般来说,。防恶意抓取,请查看原文,,真格学网提供内容。

解决方案2:

你不知道的苏州清晨,其实是从一碗面开始的!面在苏州美食里面、露、汤、浇、青缺一不可在他乡吃面,总觉得少了那么点味道,那是因为你没在苏州吃。在苏州,面馆约有26340家,也就是说有26340种口味。本着。防恶意抓取,请查看原文,,真格学网提供内容。

引用 1 楼 jianwen0529 的回复:
Excute

我国是一个重视教育的国家,因此,校舍越修越气派,设备越来越高级,孩子们的营养餐丰富多样,贫困生有读书补助,教室宽大明亮,可教师的工资还是照旧。    师享互联2015年看到新闻宣传调整教师工资,涨幅如。防恶意抓取,请查看原文,,真格学网提供内容。

调用其他exe还是会创建出一个进程

逼农民买高价商品房!事实如此清晰,一看就懂!一天到晚,挖空心思整农民!米二十年前1.5元一斤!房价一千至一千五一平!现在米2.8元一斤,房价一万左右(南通房价)压粮价!抬房价!高房价没人接,逼农民接盘。防恶意抓取,请查看原文,,真格学网提供内容。

解决方案3:

1.这不是我的职责很多时候某项任务出错,当问责时,很多人本能地规避责任以求自保,但这样极易引起领导厌烦。2.这工作太难了很多人面临任务时难免有畏惧心理,为以后的偷懒寻借口,便总把“这工作太难了”放嘴边。防恶意抓取,请查看原文,,真格学网提供内容。

引用 2 楼 qq_37271686 的回复:
Quote: 引用 1 楼 jianwen0529 的回复:

题主你好!首先我认为你之所以问这个问题,在于有一件很重要的事没弄明白,那就是父母帮你带孩子并不是他们的义务,不是他们“应该”做的,他们帮着带孙子,是出于情分,出于对自己孩子辛苦带娃的心疼,出于对孙子的。防恶意抓取,请查看原文,,真格学网提供内容。

Excute

其实一开始嗨氏也还行,因为开始没有太多的基础没有膨胀,慢慢的火起来以后,估计是开始膨胀了,慢慢的变得不谦虚。最后被王者一哥的头衔冲昏头脑。怕别人超过,想办法打压,其实谁也不怪,就怪名利冲昏了头脑。最后。防恶意抓取,请查看原文,,真格学网提供内容。

调用其他exe还是会创建出一个进程

花花和你情况类似,下巴向左边外。现在矫正过来了,所以分享一下个人经验。1、排查自己的不良生活习惯如你所说,你一直喜欢用左边吃饭,这样会造成左边咬肌发达,日积月累,就会导致左边脸大、右边脸小。花花是因为。防恶意抓取,请查看原文,,真格学网提供内容。

当然啊,你还想把别人的exe当做你内部的东西么

《金星秀》是国内首档电视脱口秀节目,金星以其犀利、直接、毒舌而迅速走红,鲜明的个性,让爱她的人越爱,恨的越恨,在观众心目中的形象形成了两个极端。金星于67年出生于沈阳市。是一个现代舞舞蹈家,获得国际大。防恶意抓取,请查看原文,,真格学网提供内容。

又不是com组件

幸福才是婚姻的真谛,为什么一定要纠缠彼此的年纪?是不是爱上了对方的权利,是不是为了男人的地位,这和我们没有什么关系。我们讨论这些其实就是我们自身的心理问题,还是看看为了我们的幸福到底该怎样努力!!一个。防恶意抓取,请查看原文,,真格学网提供内容。

解决方案4:

等红灯时前车轮压着线,算不算闯红灯要看情况!1,如果是现场交警执勤,很不幸的告诉你,这个属于闯红灯,交警可以给你开单的!2,如果属于无人值守,靠电子眼拍照的那种,需要满足三个条件才算闯红灯,也就是要提。防恶意抓取,请查看原文,,真格学网提供内容。

由于依赖的属性不同,java需要java虚拟机支持,所以在java程序执行的时候必须在java虚拟机的环境中,而c++不需要,所以必然会创建一个新的进程.

一、什么是压力压力就是你在乎的东西发生危险时引起的你的反应。压力虽然是一种负面的体验,但不只有负面作用。我们应该把压力当作中性词。压力并不意味着个人情绪管理的失败,它只是一种常见的情绪体验。一直以来,。防恶意抓取,请查看原文,,真格学网提供内容。

解决方案5:

这个问题问得好,今早上刚刚遇到,怎么说呢,在十字路口,对方自行,我是左转,对方距离我大概50米,我已经进入十字中间对方车道,但是对方想强行,结果2车碰在一起了,幸运的是对方右保险杠撞在我的轮胎上,我啥。防恶意抓取,请查看原文,,真格学网提供内容。

这是加壳的东西了

骗子你拿去假银行也会鉴定是真的,目的骗你鉴定费和拍卖费用。你如果不相信,你随便拿几个去,让他们鉴定都是真的,值几十万到上:百万一个,让你出鉴定费几千或上万,再委托他们拍卖,让你交拍卖费多少多少。。。。。防恶意抓取,请查看原文,,真格学网提供内容。

解决方案6:

川北凉粉川北凉粉发源于清末民初的四川省南充市,原为农舍小食,现已成为川菜代表性汉族特色著名小吃之一。川北凉粉是采用优质豌豆去壳,用水浸泡后,磨成细浆,然后过滤去渣,沉淀脱水,制成豆粉。再经加热搅拌成糊。防恶意抓取,请查看原文,,真格学网提供内容。

肯定会创建新进程,但新进程是A的子进程即可进行管理

今天我想和大家聊聊手机的功能体验,虽然这个功能在现在的手机不稀罕,但作为华为的手机上有这样一个功能,其实说明一件事“华为开始抓住消费者的需求,把手机功能设计上开始慢慢的为用户使用过程造成便利性着想了”。防恶意抓取,请查看原文,,真格学网提供内容。

解决方案7:

这是一块新疆和田玉青玉原石。密度大于2.95。应该在3.0左右。原石有僵棉,颜色发暗。结构致密,油性尚好。去绺除杂后可雕刻把玩。和田青玉:和田玉青玉产量约占和田玉产量的百分之八十,致色成因为亚铁离子。。防恶意抓取,请查看原文,,真格学网提供内容。

肯定需要创建新进程

赵丽颖、Angelababy、范冰冰三人的粉丝比较多,关注量也比较大。假如这三人同时出现在一起,她们谁更漂亮?  “‘长得漂亮的人挺多的,大家都可以靠脸吃饭,为什么没有人成为范冰冰?没有人可以不劳而获。防恶意抓取,请查看原文,,真格学网提供内容。

创建新进程的时候

高加索犬vs藏獒,哪个更厉害?下面是一段真实的故事:  电视台拍节目的时候发生了意外,KB\"巨灵神\"对藏獒\"魔王\"发出致命一击.一口卡住魔王喉咙,喉咙被咬一个洞,上了三瓶云南白药,打了两支止血。防恶意抓取,请查看原文,,真格学网提供内容。

系统会对程序依赖的模块进行加载

魅蓝Note6号称目前最具诚意的千元机,这不仅是实话,而且还是大实话。在作对比之前,大家可以先去看看目前市面上的千元机型,比如红米系列,长得丑不说,拍起照来更是一塌糊涂。再比如,荣耀畅玩、坚果这一类千。防恶意抓取,请查看原文,,真格学网提供内容。

由于C++是以静态的地址偏移调用函数的

恒大1:0是巨大优势,第二回合防守仍旧是最重要的!在主客场淘汰赛中,以往的经验看,先客后主更有优势,但实际上,如果先主后客也没有问题,甚至可能占据极大的心理优势,前提是在主场不丢球。如今,广州恒大1:。防恶意抓取,请查看原文,,真格学网提供内容。

如果模块没有被正确地加载,或者和当前进程的地址冲突

小心眼的男人自私。也就是占有欲太强,对于自己的东西不能与别人分享。做事太计较,与人交往吃不得半点亏。小心眼的男人敏感。这样的人我们身边或多或少有两个,别人无心的一句话,无意的一句事,或是一个小小举动,。防恶意抓取,请查看原文,,真格学网提供内容。

运行的时候基本上就会崩溃

1965年10元人民币就是收藏市场上人们俗称的大团结,是第三套人民币中的老大哥。这张人民币在1966年发行的,有两种版本在市面上流通,分别是三罗马和二罗马。1965年10元人民币票面长度是15.7厘米。防恶意抓取,请查看原文,,真格学网提供内容。

然后系统也会初始化模块的静态变量

比如用std::cin的地址,所以依赖于这部分的代码也会出错

而且对于C++程序,不能正确的关闭进程线程将会导致对象不会被正确析构

解决方案8:

引用 3 楼 jianwen0529 的回复:
Quote: 引用 2 楼 qq_37271686 的回复:

Quote: 引用 1 楼 jianwen0529 的回复:

Excute

其实一开始嗨氏也还行,因为开始没有太多的基础没有膨胀,慢慢的火起来以后,估计是开始膨胀了,慢慢的变得不谦虚。最后被王者一哥的头衔冲昏头脑。怕别人超过,想办法打压,其实谁也不怪,就怪名利冲昏了头脑。最后。防恶意抓取,请查看原文,,真格学网提供内容。

调用其他exe还是会创建出一个进程

花花和你情况类似,下巴向左边外。现在矫正过来了,所以分享一下个人经验。1、排查自己的不良生活习惯如你所说,你一直喜欢用左边吃饭,这样会造成左边咬肌发达,日积月累,就会导致左边脸大、右边脸小。花花是因为。防恶意抓取,请查看原文,,真格学网提供内容。

当然啊,你还想把别人的exe当做你内部的东西么

《金星秀》是国内首档电视脱口秀节目,金星以其犀利、直接、毒舌而迅速走红,鲜明的个性,让爱她的人越爱,恨的越恨,在观众心目中的形象形成了两个极端。金星于67年出生于沈阳市。是一个现代舞舞蹈家,获得国际大。防恶意抓取,请查看原文,,真格学网提供内容。

又不是com组件

也许是我没说清楚,我的意思是用C++写的启动器A所启动的javaw.exe程序,在任务管理器中显示在同一个进程内,类似这样:

引用 3 楼 jianwen0529 的回复:
Quote: 引用 2 楼 qq_37271686 的回复:

Quote: 引用 1 楼 jianwen0529 的回复:

Excute

其实一开始嗨氏也还行,因为开始没有太多的基础没有膨胀,慢慢的火起来以后,估计是开始膨胀了,慢慢的变得不谦虚。最后被王者一哥的头衔冲昏头脑。怕别人超过,想办法打压,其实谁也不怪,就怪名利冲昏了头脑。最后。防恶意抓取,请查看原文,,真格学网提供内容。

调用其他exe还是会创建出一个进程

花花和你情况类似,下巴向左边外。现在矫正过来了,所以分享一下个人经验。1、排查自己的不良生活习惯如你所说,你一直喜欢用左边吃饭,这样会造成左边咬肌发达,日积月累,就会导致左边脸大、右边脸小。花花是因为。防恶意抓取,请查看原文,,真格学网提供内容。

当然啊,你还想把别人的exe当做你内部的东西么

《金星秀》是国内首档电视脱口秀节目,金星以其犀利、直接、毒舌而迅速走红,鲜明的个性,让爱她的人越爱,恨的越恨,在观众心目中的形象形成了两个极端。金星于67年出生于沈阳市。是一个现代舞舞蹈家,获得国际大。防恶意抓取,请查看原文,,真格学网提供内容。

又不是com组件

可能是我没说清楚,我的意思是用C++写的启动器A所启动的javaw.exe程序,在任务管理器中显示在同一个进程内,类似这样:

解决方案9:

引用 7 楼 ID870177103 的回复:
肯定需要创建新进程

创建新进程的时候

高加索犬vs藏獒,哪个更厉害?下面是一段真实的故事:  电视台拍节目的时候发生了意外,KB\"巨灵神\"对藏獒\"魔王\"发出致命一击.一口卡住魔王喉咙,喉咙被咬一个洞,上了三瓶云南白药,打了两支止血。防恶意抓取,请查看原文,,真格学网提供内容。

系统会对程序依赖的模块进行加载

魅蓝Note6号称目前最具诚意的千元机,这不仅是实话,而且还是大实话。在作对比之前,大家可以先去看看目前市面上的千元机型,比如红米系列,长得丑不说,拍起照来更是一塌糊涂。再比如,荣耀畅玩、坚果这一类千。防恶意抓取,请查看原文,,真格学网提供内容。

由于C++是以静态的地址偏移调用函数的

恒大1:0是巨大优势,第二回合防守仍旧是最重要的!在主客场淘汰赛中,以往的经验看,先客后主更有优势,但实际上,如果先主后客也没有问题,甚至可能占据极大的心理优势,前提是在主场不丢球。如今,广州恒大1:。防恶意抓取,请查看原文,,真格学网提供内容。

如果模块没有被正确地加载,或者和当前进程的地址冲突

小心眼的男人自私。也就是占有欲太强,对于自己的东西不能与别人分享。做事太计较,与人交往吃不得半点亏。小心眼的男人敏感。这样的人我们身边或多或少有两个,别人无心的一句话,无意的一句事,或是一个小小举动,。防恶意抓取,请查看原文,,真格学网提供内容。

运行的时候基本上就会崩溃

1965年10元人民币就是收藏市场上人们俗称的大团结,是第三套人民币中的老大哥。这张人民币在1966年发行的,有两种版本在市面上流通,分别是三罗马和二罗马。1965年10元人民币票面长度是15.7厘米。防恶意抓取,请查看原文,,真格学网提供内容。

然后系统也会初始化模块的静态变量

比如用std::cin的地址,所以依赖于这部分的代码也会出错

而且对于C++程序,不能正确的关闭进程线程将会导致对象不会被正确析构

可能是我没说清楚,我的意思是用C++写的启动器A所启动的javaw.exe程序,在任务管理器中显示在同一个进程内,类似这样:

图里的black程序其实就是一个exe启动器,而下面的“开篇3 冲突 - 写作视图”实际上是个javaw.exe(也就是exe启动器所启动的jvm虚拟机),这个启动器是别人做的,我用着有些问题,现在想自己做一个,实现同样的效果,即exe启动器和所启动的javaw.exe在windows任务管理器里显示在同一个条目里

解决方案10:

引用 4 楼 u010095741 的回复:
由于依赖的属性不同,java需要java虚拟机支持,所以在java程序执行的时候必须在java虚拟机的环境中,而c++不需要,所以必然会创建一个新的进程.

可能是我没讲清楚需求,请参见下面的图片

解决方案11:

引用 10 楼 qq_37271686 的回复:
Quote: 引用 4 楼 u010095741 的回复:

由于依赖的属性不同,java需要java虚拟机支持,所以在java程序执行的时候必须在java虚拟机的环境中,而c++不需要,所以必然会创建一个新的进程.

可能是我没讲清楚需求,请参见下面的图片

你可以使用C++创建子进程,来进行操作

解决方案12:

你问得很清楚,但答案是不可能,再见。

解决方案13:

你自己写一个 PeLdr, 在自己的进程空间加载 javaw , 然后跳转到新 pe 的起始地址, 如果那个 javaw 没有做些特别的保护, 就可以跑起来了,  PeLdr 的代码网上很多,  抄一个就是了...  

解决方案14:

楼主可能不太清楚windows“进程”的概念。呵呵。你这个需求必然会启动新的进程,但是,新的进程是可以通过A来调度和管理的。如果你非要不创建新的进程,不是没有办法,办法就是你在A里自己写一个jar解析器,就是自己写java虚拟机,绝对不会创建新进程。

解决方案15:

不过,如果java虚拟机是个DLL的话,你可以通过加载JAVA虚拟机DLL而不创建新的进程。

解决方案16:

jvm host 

解决方案17:

仅供参考:

/*

    Application:    Code Injection in Explorer

    Author:     @_RT

    Compiled on:    Feb 2014

    URL:http://www.codeproject.com/Tips/732044/Code-Injection-2

    We will see the different steps involved to perform a code injection into an already running process.

    Following are the quick steps through the process of injection.

    1.Get the API addresses that you will be calling from the injected code.

    2.Prepare shell code of your function that you want to get executed from the injected process.

    3.Get the process ID of the running process that you wish to inject into by enumerating through the

      list of processes or by finding the process's window (in case it's a GUI application) by class name or title.

    4.Open the process using its Pid with All Access rights.

    5.Allocate different memory spaces in the process that you are going to inject to with desired access

      rights for holding different segments of your shell code.

        Code part (executable instructions)

        Data part (strings, function parameters, etc.)

    6.Write the allocated memories with the respective values (code and data).

    7.Call CreateRemoteThread API and pass to it the start of allocated memory address where you have

      written your shell code from the process we are injecting.

*/

#include <windows.h>

#pragma comment(lib,"user32.lib")

LPVOID addr;

LPVOID addr2;

BOOL InjectExecutable(DWORD dwPid,LPVOID si,LPVOID pi,int sisize,int pisize)

{

    LPVOID hNewModule;

    HANDLE hProcess;

    CHAR S[]    = { "C:\\Windows\\system32\\notepad.exe" };

    BYTE byt[]  = {0x6A, 0x00, 0x6A, 0x00, 0x6A, 0x00, 0x6A, 0x01, 0x6A, 0x00, 0x6A, 0x00, 0x6A, 0x00, 0x68};

                 //push  0   , push     0, push     0, push     1, push     0, push     0, push     0, push 0xXXXXXXXX

    BYTE byt2[] = {0xE8};//call 0xXXXXXXXX

    BYTE byt3[] = {0x68};//push 0xXXXXXXXX

    hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPid);

    if (hProcess == NULL)

    {

        return FALSE;

    }

    LPVOID staddr = VirtualAllocEx(hProcess, NULL, sizeof(S), MEM_COMMIT, PAGE_READWRITE);

    WriteProcessMemory(hProcess, staddr, S, sizeof(S), NULL);

    LPVOID fnaddr = VirtualAllocEx(hProcess, NULL, 4, MEM_COMMIT, PAGE_READWRITE);

    WriteProcessMemory(hProcess, fnaddr, pi, sisize, NULL);

    LPVOID fnaddr2 = VirtualAllocEx(hProcess, NULL, 4, MEM_COMMIT, PAGE_READWRITE);

    WriteProcessMemory(hProcess, fnaddr2, si, pisize, NULL);

    hNewModule = VirtualAllocEx(hProcess, NULL, 100, MEM_COMMIT, PAGE_EXECUTE_READWRITE);

    if (hNewModule == NULL)

    {

        return FALSE;

    }

    LPTHREAD_START_ROUTINE strtaddr = (LPTHREAD_START_ROUTINE)hNewModule;

    WriteProcessMemory(hProcess, hNewModule, byt3, sizeof(byt3), NULL);

    hNewModule = (LPVOID)((int)hNewModule + sizeof(byt3));

    WriteProcessMemory(hProcess, hNewModule, &fnaddr, sizeof(fnaddr), NULL);

    hNewModule = (LPVOID)((int)hNewModule + sizeof(fnaddr));                    // push &pi ;lpProcessInformation

    WriteProcessMemory(hProcess, hNewModule, byt3, sizeof(byt3), NULL);

    hNewModule = (LPVOID)((int)hNewModule + sizeof(byt3));

    WriteProcessMemory(hProcess, hNewModule, &fnaddr2, sizeof(fnaddr2), NULL);

    hNewModule = (LPVOID)((int)hNewModule + sizeof(fnaddr2));                   // push &si ;lpStartupInfo

    WriteProcessMemory(hProcess, hNewModule, byt, sizeof(byt), NULL);           // push 0 , push 0, push 0, push 1, push 0, push 0, push 0, push 0xXXXXXXXX==&S[0];"C:\\Windows\\system32\\notepad.exe"

    hNewModule = (LPVOID)((int)hNewModule + sizeof(byt));                       // lpCurrentDirectory,lpEnvironment,dwCreationFlags,bInheritHandles,lpThreadAttributes,lpProcessAttributes,lpCommandLine,lpApplicationName

    WriteProcessMemory(hProcess, hNewModule, &staddr, sizeof(staddr), NULL);

    hNewModule = (LPVOID)((int)hNewModule + sizeof(staddr));

    WriteProcessMemory(hProcess, hNewModule, byt2, sizeof(byt2), NULL);

    hNewModule = (LPVOID)((int)hNewModule + sizeof(byt2));                      // call CreateProcessA

    addr = (LPVOID)((int)addr - ((int)hNewModule + 4));

    WriteProcessMemory(hProcess, hNewModule, &addr, sizeof(addr), NULL);

    hNewModule = (LPVOID)((int)hNewModule + sizeof(addr));

    WriteProcessMemory(hProcess, hNewModule, byt, 2, NULL);

    hNewModule = (LPVOID)((int)hNewModule + 2);                                 // push 0 ;DWORD dwExitCode   // exit code for this thread

    WriteProcessMemory(hProcess, hNewModule, byt2, sizeof(byt2), NULL);

    hNewModule = (LPVOID)((int)hNewModule + sizeof(byt2));                      // call ExitThread

    addr2 = (LPVOID)((int)addr2 - ((int)hNewModule + 4));

    WriteProcessMemory(hProcess, hNewModule, &addr2, sizeof(addr2), NULL);

    CreateRemoteThread(hProcess, 0, 0, strtaddr, NULL, 0, NULL);

    return TRUE;

}

int main()

{

    _STARTUPINFOA si;

    PROCESS_INFORMATION pi;

    ZeroMemory(&si, sizeof(si));

    si.cb = sizeof(si);

    ZeroMemory(&pi, sizeof(pi));

    DWORD dwPid;

    HMODULE ldlib = LoadLibraryA("Kernel32.dll");

    addr = GetProcAddress(ldlib, "CreateProcessA");

    addr2 = GetProcAddress(ldlib, "ExitThread");

    HWND hWnd1=FindWindow(NULL, "Program Manager");

    if (NULL==hWnd1) {

        return 1;

    }

    GetWindowThreadProcessId(hWnd1, &dwPid);

    InjectExecutable(dwPid,&si,&pi,sizeof(si),sizeof(pi));

    return 0;

}

解决方案18:

引用 15 楼 sdhexu 的回复:
不过,如果java虚拟机是个DLL的话,你可以通过加载JAVA虚拟机DLL而不创建新的进程。

你的话让我突然想起来java虚拟机的可执行程序javac或javaw都不过是个外壳程序,它们都是通过加载jvm.dll来启动虚拟机的,或许我也应该直接加载jvm.dll,非常感谢你的回答!也感谢其他朋友的热心帮助!祝好!

解决方案19:

加载其它程序的代码,在本进程执行?

解决方案20:

Excute 试试看

解决方案21:

  typedef jint (JNICALL *JNI_CreateJavaVM)(JavaVM **pvm, void **penv, void *args);

  if (m_pJavaVM != 0) {

    /* Only support one JVM per process */

    return 0;

  }

  if (!getJREPath()) {

    m_strError = _T("查找 JRE 路径失败, 是否正确安装了 JRE");

    OutputDebugStringFmt(m_strError.GetString());

    return -1;

  }

  m_hJVMDll = ::LoadLibrary(m_szJVMPath);

  if (m_hJVMDll == NULL) {

    m_strError.Format(_T("加载 %s 失败, 错误代码: %d."), m_szJVMPath, GetLastError());

    OutputDebugStringFmt(m_strError.GetString());

    return -2;

  }

  JNI_CreateJavaVM create_java_vm = (JNI_CreateJavaVM)::GetProcAddress(m_hJVMDll, "JNI_CreateJavaVM");

  if (create_java_vm == NULL) {

    m_strError.Format(_T("在 %s 内找不到 JNI_CreateJavaVM."), m_szJVMPath);

    OutputDebugStringFmt(m_strError.GetString());

    return -3;

  }

  JavaVMInitArgs vm_args;

  vm_args.version = JNI_VERSION_1_6;

  vm_args.options = options;

  vm_args.nOptions = nOptions;

  vm_args.ignoreUnrecognized = JNI_TRUE;

  int res = 0;

  JNIEnv* pEnv = 0;

  res = create_java_vm(&m_pJavaVM, (void **)&pEnv, &vm_args);

  if (res < 0) {

    m_strError.Format(_T("创建 Java VM 失败, error code: %d"), res);

    OutputDebugStringFmt(m_strError.GetString());

  } else {

    jint version = pEnv->GetVersion();

    OutputDebugStringFmt(_T("Java VM %d.%d 创建成功"), HIWORD(version), LOWORD(version));

    m_strError.Empty();

  }

  return res;

[code]

void

JVM::createScriptEngine()

{

  const wchar_t* js = L"JavaScript";// or js

  const wchar_t* eng = L"engine";

  JNIEnv* pEnv = GetEnv();

  jclass ScriptEngineManager = pEnv->FindClass("javax/script/ScriptEngineManager");

  jclass ScriptEngine = pEnv->FindClass("javax/script/ScriptEngine");

  jmethodID getEngineByName = pEnv->GetMethodID(ScriptEngineManager, "getEngineByName", "(Ljava/lang/String;)Ljavax/script/ScriptEngine;");

  jmethodID cid = pEnv->GetMethodID(ScriptEngineManager, "<init>", "()V");

  jmethodID putId = pEnv->GetMethodID(ScriptEngine, "put", "(Ljava/lang/String;Ljava/lang/Object;)V");

  jobject m = pEnv->NewObject(ScriptEngineManager, cid);

  if (m) {

    jstring jsStr = pEnv->NewString((const jchar*)js, lstrlenW(js));

    jobject engine = pEnv->CallObjectMethod(m, getEngineByName, jsStr);

    pEnv->DeleteLocalRef(jsStr);

    if (engine) {

      m_pJs = pEnv->NewGlobalRef(engine);

      OutputDebugStringFmt(_T("ScriptEngine: %s created"), js);

      jstring engineStr = pEnv->NewString((const jchar*)eng, lstrlenW(eng));

      pEnv->CallVoidMethod(m_pJs, putId, engineStr, engine);

      pEnv->DeleteLocalRef(engineStr);

      pEnv->DeleteLocalRef(engine);

    }

    pEnv->DeleteLocalRef(m);

  }

  pEnv->DeleteLocalRef(ScriptEngine);

  pEnv->DeleteLocalRef(ScriptEngineManager);

  OutputDebugStringFmt(_T("脚本引擎初始化完毕, 检查有无异常"));

  CheckException(true);

}

[/code]

中国的剖腹产率世界第一,并且遥遥领先与其他任何一个国家,有数据显示中国在2007年10月至2008年5月间的剖腹产率高达46%,也就几乎一半的孕妇都选择了剖腹产,而这个数据在意大利、葡萄牙、瑞典、澳大利亚及美国等国家的为30%左右,其中芬兰、挪威、荷兰只有17%左右,那么这样的数据到底是好?还是不好呢?剖腹产有哪些好处?又有哪些坏处呢?下面,我们就来简要的分析一下剖腹产对各方的利弊关系,以及进行了剖腹产后术后应该注意一些什么?首先来说好处,剖腹产的好处对准妈妈的好处,以及对宝宝的好处。1、对准妈妈的好处首先,可能也是最主要的-----剖腹产不疼因为剖腹产是手术,需要麻醉,既然麻醉了也就不会那么题主您好!我记得我们小时候父母限制我们出去玩,一方面是因为那时候父母工作忙,家里孩子又不止一个,父母没有时间陪孩子出去玩,让孩子自己出去又不放心,不如让孩子自己在家看电视,起码没有什么危险;二是当年近视没现在这么严重,父母对孩子长时间看电视的危害认识不足,我父母就不太限制我们姐妹看电视,结果现在我俩都近视。而现在大部分家长都意识到了孩子长时间看电视不好,因此会限制孩子看电视的时长。从你描述的情况看,你家孩子爱看电视的习惯不是一天养成的,这种状态应该持续很长时间了。我不知道作为孩子的家长,你每天花在陪伴孩子身上的时间有多少,如果你不花时间陪孩子,那他在家写完作业后不看电视干啥呢,孩子的自觉性不是


  • 本文相关:
  • 站长必读,如何真正写好一篇原创文章
  • 互联网之路细嗅蔷薇 资深站长分享掘金之道
  • 企业站的站长的工作重心究竟有哪些
  • 浅析:行业门户网站的一些盈利模式
  • 3000IP的企业网站每天订单不到30个的苦恼
  • 网站想内外兼修?先学习提高网站可用性的6大原则
  • 浅谈网页设计中的简约之美
  • 网页改版实战:日本设计师如何彻底优化旅游网站?
  • 网页改版实战!日本设计师如何彻底优化招聘网站?
  • 2015年值得关注的21个网页设计趋势
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved