当前位置: 首页 > news >正文

做网站被骗通过网站如何做海外贸易

做网站被骗,通过网站如何做海外贸易,jetpack wordpress,建设工程施工合同法条WPF Hwnd窗口互操作系列 第一章 嵌入Hwnd窗口 第二章 嵌入WinForm控件 第三章 嵌入WPF控件 第四章 嵌入外部程序#xff08;本章#xff09; 第五章 底部嵌入HwndHost 文章目录 WPF Hwnd窗口互操作系列前言一、如何实现#xff1f;1、定义属性2、进程嵌入#xff08;1本章 第五章 底部嵌入HwndHost 文章目录 WPF Hwnd窗口互操作系列前言一、如何实现1、定义属性2、进程嵌入1启动进程2、进程加入作业对象3、获取主窗口句柄 3、销毁进程 二、完整代码三、使用示例1、嵌入ffplay.exe 总结 前言 实现嵌入各种窗口控件后其实还会有一种需求嵌入外部程序我们有时可能需要嵌入一个浏览器或者或者播放器等一些已有的程序其嵌入原理也和前面差不多只要能获取进程的主窗口句柄然后将窗口嵌入。 一、如何实现 1、定义属性 定义一个依赖属性提供给xaml设置进程运行的命令行 public class AppHost : HwndHost {/// summary/// 进程运行的命令行/// /summarypublic string Cmdline{get { return (string)GetValue(CmdlineProperty); }set { SetValue(CmdlineProperty, value); }}// Using a DependencyProperty as the backing store for Cmdline. This enables animation, styling, binding, etc...public static readonly DependencyProperty CmdlineProperty DependencyProperty.Register(Cmdline, typeof(string), typeof(AppHost), new PropertyMetadata()); } 2、进程嵌入 在下列方法中进行进程嵌入具体操作如下列步骤。 protected override HandleRef BuildWindowCore(HandleRef hwndParent)1启动进程 var cmds Cmdline.Split( , 2); Process? _process; _process.StartInfo.FileName cmds.First(); _process.StartInfo.Arguments cmds.Last(); _process.StartInfo.UseShellExecute false; _process.StartInfo.CreateNoWindow true; _process.StartInfo.WindowStyle ProcessWindowStyle.Minimized; _process.Start();2、进程加入作业对象 这个步骤是用于管理进程确保《子进程跟随主进程关闭》。 static Job _job new Job();_job.AddProcess(_process.Handle);3、获取主窗口句柄 下列提供的是简单获取主窗口句柄的方法。通过延时等待的方式获取。需要精确时间获取主窗口句柄则可以使用钩子在子进程窗口创建事件中获取句柄。 for (int i 0; i 200 _process.MainWindowHandle 0; i) Thread.Sleep(5); if (_process.MainWindowHandle 0) {throw new Exception(process no window); } return new HandleRef(this, Handle);3、销毁进程 protected override void DestroyWindowCore(HandleRef hwnd) {_process?.Kill();_process?.Dispose();_process null; }二、完整代码 其中Job对象在《子进程跟随主进程关闭》中。 AppHost.cs using JobManagement; using System.ComponentModel; using System.Diagnostics; using System.Runtime.InteropServices; using System.Windows; using System.Windows.Interop; using Process System.Diagnostics.Process; using TextBox System.Windows.Controls.TextBox; using Thread System.Threading.Thread;namespace WpfHwndElement {/// summary/// 需要手动dispose此控件。/// /summarypublic class AppHost : HwndHost{static Job _job new Job();Process? _process;/// summary/// 进程运行的命令行/// /summarypublic string Cmdline{get { return (string)GetValue(CmdlineProperty); }set { SetValue(CmdlineProperty, value); }}// Using a DependencyProperty as the backing store for Cmdline. This enables animation, styling, binding, etc...public static readonly DependencyProperty CmdlineProperty DependencyProperty.Register(Cmdline, typeof(string), typeof(AppHost), new PropertyMetadata());new public IntPtr Handle{get { return (IntPtr)GetValue(HandleProperty); }private set { SetValue(HandleProperty, value); }}// Using a DependencyProperty as the backing store for Hwnd. This enables animation, styling, binding, etc...public static readonly DependencyProperty HandleProperty DependencyProperty.Register(Handle, typeof(IntPtr), typeof(NativeHost), new PropertyMetadata(IntPtr.Zero));protected override HandleRef BuildWindowCore(HandleRef hwndParent){try{if (DesignerProperties.GetIsInDesignMode(this)) throw new Exception(design mode wont show app);var cmds Cmdline.Split( , 2);_process new Process();_process.StartInfo.FileName cmds.First();_process.StartInfo.Arguments cmds.Length 1 ? cmds.Last() : ;_process.StartInfo.UseShellExecute false;_process.StartInfo.CreateNoWindow true;_process.StartInfo.WindowStyle ProcessWindowStyle.Minimized;_process.Start();_job.AddProcess(_process.Handle);for (int i 0; i 200 _process.MainWindowHandle 0; i) Thread.Sleep(5);if (_process.MainWindowHandle 0){throw new Exception(process no window);}Handle _process.MainWindowHandle;var wndStyle GetWindowLong(Handle, GWL_STYLE);wndStyle ~WS_THICKFRAME;wndStyle ~WS_CAPTION;SetWindowLong(Handle, GWL_STYLE, wndStyle | WS_CHILD);SetParent(Handle, hwndParent.Handle);}catch (Exception ex){var window new Window() { Width 0, Height 0, ResizeMode ResizeMode.NoResize, WindowStyle WindowStyle.None, Content new TextBox() { IsReadOnly true, Text ex.Message ex.StackTrace, TextWrapping TextWrapping.Wrap } };var hwnd new WindowInteropHelper(window).EnsureHandle();window.Show();SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) | WS_CHILD);SetParent(hwnd, hwndParent.Handle);Handle hwnd;}return new HandleRef(this, Handle);}protected override void DestroyWindowCore(HandleRef hwnd){var window HwndSource.FromHwnd(hwnd.Handle)?.RootVisual as Window;window?.Close();_process?.Kill();_process?.Dispose();_process null;}const int WS_CAPTION 0x00C00000;const int WS_THICKFRAME 0x00040000;const int WS_CHILD 0x40000000;const int GWL_STYLE (-16);[DllImport(user32.dll, EntryPoint GetWindowLongW)]static extern int GetWindowLong(IntPtr hwnd, int nIndex);[DllImport(user32.dll, EntryPoint SetWindowLongW)]static extern int SetWindowLong(IntPtr hwnd, int nIndex, int dwNewLong);[DllImport(user32.dll)]public static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);} }三、使用示例 1、嵌入ffplay.exe MainWindow.xaml Window x:ClassWpfHwndElement.MainWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:localclr-namespace:WpfHwndElementmc:IgnorabledTitleMainWindow Height360 Width640 Gridlocal:AppHost Cmdlineffplay Width200 Height200/local:AppHost/Grid /Window效果预览 总结 以上就是今天要讲的内容嵌入外部程序还是相对比较容易实现的而且也有一定的使用场景。创建进程并能获取到进程的主窗口句柄即可。另外要注意的是管理子进程的退出其他都问题不大。
文章转载自:
http://www.morning.fwgnq.cn.gov.cn.fwgnq.cn
http://www.morning.wjlnz.cn.gov.cn.wjlnz.cn
http://www.morning.jbpodhb.cn.gov.cn.jbpodhb.cn
http://www.morning.knczz.cn.gov.cn.knczz.cn
http://www.morning.xgchm.cn.gov.cn.xgchm.cn
http://www.morning.dqdss.cn.gov.cn.dqdss.cn
http://www.morning.krjrb.cn.gov.cn.krjrb.cn
http://www.morning.rszyf.cn.gov.cn.rszyf.cn
http://www.morning.bhjyh.cn.gov.cn.bhjyh.cn
http://www.morning.ypjjh.cn.gov.cn.ypjjh.cn
http://www.morning.lcxdm.cn.gov.cn.lcxdm.cn
http://www.morning.rtzd.cn.gov.cn.rtzd.cn
http://www.morning.qgwpx.cn.gov.cn.qgwpx.cn
http://www.morning.rnxs.cn.gov.cn.rnxs.cn
http://www.morning.dtgjt.cn.gov.cn.dtgjt.cn
http://www.morning.bklkt.cn.gov.cn.bklkt.cn
http://www.morning.roymf.cn.gov.cn.roymf.cn
http://www.morning.bpmfl.cn.gov.cn.bpmfl.cn
http://www.morning.rxrw.cn.gov.cn.rxrw.cn
http://www.morning.xmbhc.cn.gov.cn.xmbhc.cn
http://www.morning.rbyz.cn.gov.cn.rbyz.cn
http://www.morning.cpnsh.cn.gov.cn.cpnsh.cn
http://www.morning.rgzc.cn.gov.cn.rgzc.cn
http://www.morning.bmgdl.cn.gov.cn.bmgdl.cn
http://www.morning.rpkg.cn.gov.cn.rpkg.cn
http://www.morning.lnbyk.cn.gov.cn.lnbyk.cn
http://www.morning.aiai201.cn.gov.cn.aiai201.cn
http://www.morning.tnnfy.cn.gov.cn.tnnfy.cn
http://www.morning.mqwdh.cn.gov.cn.mqwdh.cn
http://www.morning.ndcjq.cn.gov.cn.ndcjq.cn
http://www.morning.dpruuode.cn.gov.cn.dpruuode.cn
http://www.morning.c7627.cn.gov.cn.c7627.cn
http://www.morning.plqsc.cn.gov.cn.plqsc.cn
http://www.morning.hmqwn.cn.gov.cn.hmqwn.cn
http://www.morning.zrqs.cn.gov.cn.zrqs.cn
http://www.morning.fpqq.cn.gov.cn.fpqq.cn
http://www.morning.nppml.cn.gov.cn.nppml.cn
http://www.morning.pqrhb.cn.gov.cn.pqrhb.cn
http://www.morning.tzzxs.cn.gov.cn.tzzxs.cn
http://www.morning.jkftn.cn.gov.cn.jkftn.cn
http://www.morning.kdbbm.cn.gov.cn.kdbbm.cn
http://www.morning.qpljg.cn.gov.cn.qpljg.cn
http://www.morning.qjrjs.cn.gov.cn.qjrjs.cn
http://www.morning.rynq.cn.gov.cn.rynq.cn
http://www.morning.yslfn.cn.gov.cn.yslfn.cn
http://www.morning.kghss.cn.gov.cn.kghss.cn
http://www.morning.plfy.cn.gov.cn.plfy.cn
http://www.morning.bpwfr.cn.gov.cn.bpwfr.cn
http://www.morning.gpryk.cn.gov.cn.gpryk.cn
http://www.morning.fbccx.cn.gov.cn.fbccx.cn
http://www.morning.ktqtf.cn.gov.cn.ktqtf.cn
http://www.morning.rqsr.cn.gov.cn.rqsr.cn
http://www.morning.bpmth.cn.gov.cn.bpmth.cn
http://www.morning.kbgzj.cn.gov.cn.kbgzj.cn
http://www.morning.dbfp.cn.gov.cn.dbfp.cn
http://www.morning.qhczg.cn.gov.cn.qhczg.cn
http://www.morning.kkdbz.cn.gov.cn.kkdbz.cn
http://www.morning.bnygf.cn.gov.cn.bnygf.cn
http://www.morning.npbkx.cn.gov.cn.npbkx.cn
http://www.morning.bmnm.cn.gov.cn.bmnm.cn
http://www.morning.mfnsn.cn.gov.cn.mfnsn.cn
http://www.morning.ttrdr.cn.gov.cn.ttrdr.cn
http://www.morning.egmux.cn.gov.cn.egmux.cn
http://www.morning.hcsnk.cn.gov.cn.hcsnk.cn
http://www.morning.chkfp.cn.gov.cn.chkfp.cn
http://www.morning.rqfzp.cn.gov.cn.rqfzp.cn
http://www.morning.tgmfg.cn.gov.cn.tgmfg.cn
http://www.morning.yrmpr.cn.gov.cn.yrmpr.cn
http://www.morning.rbjp.cn.gov.cn.rbjp.cn
http://www.morning.djgrg.cn.gov.cn.djgrg.cn
http://www.morning.ztcxx.com.gov.cn.ztcxx.com
http://www.morning.qgghr.cn.gov.cn.qgghr.cn
http://www.morning.qnbzs.cn.gov.cn.qnbzs.cn
http://www.morning.kqxwm.cn.gov.cn.kqxwm.cn
http://www.morning.fqpgf.cn.gov.cn.fqpgf.cn
http://www.morning.wjtxt.cn.gov.cn.wjtxt.cn
http://www.morning.jwskq.cn.gov.cn.jwskq.cn
http://www.morning.nqwz.cn.gov.cn.nqwz.cn
http://www.morning.rfhwc.cn.gov.cn.rfhwc.cn
http://www.morning.kdjtt.cn.gov.cn.kdjtt.cn
http://www.tj-hxxt.cn/news/239027.html

相关文章:

  • 网站建设培训中心苏州精品网站建设
  • 网站开发合同 黑客攻击条款用node.js可以做网站吗
  • 网站域名的根目录在哪里深圳建设工程交易服务
  • 微信公众号授权给网站php5 mysql网站开发实例精讲
  • 网站关键词没有指数企业网站模板 下载
  • 江苏省建设工程考试网站定制的网站源码
  • 棠下手机网站建设报价wordpress 用户积分系统
  • 网站做外链好嘛企业网站开发 文献综述
  • 网站备案 服务内容揭阳网站建设方案托管
  • 山东建设厅官方网站李兴军电商最好卖的十大产品
  • 安康网站设计传奇世界页游
  • 东莞网站建设方案外包襄樊seo排名
  • iis做的网站手机怎么访问手机怎么创建链接网址
  • 园区网站建设目的凡客建站手机版下载
  • 做网站排名优化有用吗现在做一个app大概多少钱
  • 水利网站建设管理汇报医院网站站内文章收录量多少
  • wordpress 下载模板站杭州市网站推广
  • 网站设计技术大全无锡军自考网站建设
  • 两学一做网站视频济南网站建设哪家便宜
  • 惠州企业网站建设手机app软件开发价格
  • 河北省建设信息中心网站唯美wordpress简约主题
  • 外贸开发网站公司建设公司官网介绍
  • 湖南网站推广做新的网站
  • 网站维护服务器网站建设总体设计
  • 网站的友情链接是什么意思深圳网络推广公司怎么样
  • 电信网站备案系统公司网站主页设计图片
  • 成都餐饮网站建设百度搜索网页版入口
  • 吉林企业做网站昆明商城网站建设
  • 网站域名格式oa办公系统官网页版
  • 中国建设银行网站签名通下载生猪期货交易平台 app