'声明API函数

Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Integer, ByVal hWndNewParent As Integer) As Integer
    Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Integer, ByVal hwndInsertAfter As Integer, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer
    Public Declare Function MoveWindow Lib "user32" (ByVal hwnd As Integer, ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal bRepaint As Integer) As Integer

Public GERenderHwnd, GEMainHwnd As Integer    '保存GE应用程序的窗口句柄

Public AppGE As ApplicationGE

'首次使用要注册谷歌地球
    Private Sub regGE()
        Dim currentVersion As Version = Environment.OSVersion.Version
        Dim compareToVersion As Version = New Version("6.2")
        If (currentVersion.CompareTo(compareToVersion) >= 0) Then
            'win8及其以上版本的系统
            Dim sInfo As New Diagnostics.ProcessStartInfo
            sInfo.FileName = "C:\Program Files (x86)\Google\Google Earth Pro\client\googleearth.exe"
            sInfo.Verb = "RunAs" '以管理员身份运行
            sInfo.LoadUserProfile = True
            Diagnostics.Process.Start(sInfo.FileName, "RegServer") '运行程序
        Else
            Process.Start("C:\Program Files (x86)\Google\Google Earth Pro\client\googleearth.exe", "RegServer")
        End If
    End Sub

‘在自己的窗体中放入picturebox控件,在picturebox1中显示谷歌地球应用

Private Sub GooleEarth()
        Try
            regGE() '首次使用注册谷歌地球
            Try
                AppGE = CreateObject("GoogleEarth.ApplicationGE")
            Catch err As System.Exception
                MsgBox(err.Message + vbCr + "你电脑里未安装GoogleEarth或GoogleEarth未正确注册" + vbCr + "手动注册方法:" + vbCr + "管理员模式运行命令提示符:键入C:\Program Files (x86)\Google\Google Earth Pro\client\googleearth.exe /RegServer", vbCritical + vbOK, "谷歌地球应用程序未正确安装!")
            End Try
            GEMainHwnd = AppGE.GetMainHwnd '获取GE程序主窗体句柄
            GERenderHwnd = AppGE.GetRenderHwnd '获取地图窗口句柄
            SetWindowPos(GEMainHwnd, 1, 0, 0, PictureBox1.Width, PictureBox1.Height, 129) '设置窗体的大小及位置
            'SendMessage(GEMainHwnd, WM_HIDE, 0, 0) '给GE程序主窗体发消息,让它的父控件不可见
            If GERenderHwnd = 0 Then Exit Sub
            MoveWindow(GERenderHwnd, 0, 0, PictureBox1.Width, PictureBox1.Height, 1) '设置窗体的大小及位置
            SetParent(GERenderHwnd, PictureBox1.Handle) '设置窗体的父窗体为当前PictureBox1控件的当前窗框
        Catch err As System.Exception
            MsgBox(err.Message)
        End Try

End Sub

Private Sub FrmSchedule_Load(sender As Object, e As EventArgs) Handles Me.Load
      GooleEarth()
    End Sub

'关窗口时杀死谷歌进程

Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
        Dim p As New System.Diagnostics.Process
        Dim inst As Process
        Dim myProcess() As Process
        myProcess = System.Diagnostics.Process.GetProcessesByName("googleearth")
        For Each inst In myProcess
            'If inst.Handle.ToInt32 = myExcel.Hinstance Then
            p = System.Diagnostics.Process.GetProcessById(inst.Id)
            p.Kill()
        Next
    End Sub

vb.net在自己的应用中嵌入谷歌地球的方法相关推荐

  1. 易语言 剪切板 html,易语言中嵌入html直接显示方法

    易语言中嵌入html直接显示方法 以前是作者根据经验写的一点关于嵌入HTML语言的方法,大家参考下. 技术渣渣,没有找到更高的方法,现在暂时使用这种方法,将代码本地化然后超文本浏览框调用 写到文件 ( ...

  2. 在CAD中插入谷歌地球卫星地图

    本文主要介绍如何在CAD中插入谷歌地球卫星地图,作为参照光栅图像.谷歌地球卫星地图使用"迈高图-地图数据下载器"(以下简称:迈高图)下载.迈高图会给出相关插入参数(插入点和缩放比例 ...

  3. 在Ubuntu18.04中安装谷歌地球Google Earth

    在Ubuntu18.04中安装谷歌地球Google Earth Google Earth在Linux系统中(Ubuntu18.04)的安装方法 1.安装必备组建 2.下载Google Earth安装包 ...

  4. ASP.NET中在HTML中嵌入C#代码的方法

    一.使用<% %>在HTML中嵌入C#代码 打开ASPX页面Default.aspx,首先在<title> </title>之间添加标题"使用%HTML中 ...

  5. 如何向网页中嵌入谷歌英文地图

    此方案亲测可用,已经成功将中文谷歌地图换成英文 前言 百度地图目前不支持英文,所以如果想向网页中嵌入英文地图的话只能使用谷歌地图. (当然,想在国内从浏览器访问谷歌地图的大前提是已经翻了墙.) 谷歌地 ...

  6. 如何网页中嵌入谷歌地图

    方法一 : 打开谷歌地图----左上角菜单----分享或嵌入地图----嵌入地图----默认"中"改为自定义尺寸----设置尺寸后复制代码到网页即可,可调成width:响应式100 ...

  7. html 中加载pdf,在HTML中嵌入PDF的推荐方法?

    George Mahar.. 9 我们的问题是,出于法律原因,我们不允许在硬盘上临时存储PDF.此外,在浏览器中将PDF显示为"预览"时,不应重新加载整个页面. 首先我们尝试了PD ...

  8. html中看到php代码_如何在HTML中嵌入PHP代码

    如何在HTML中嵌入PHP代码 对于一个有经验的 PHP Web 开发者,在HTML中嵌入PHP代码是一件非常容易的事情.但是对于刚开始接触 PHP 编程语言的新手这就是一个问题.下面是小编为大家带来 ...

  9. 如何在Panel中嵌入子窗体

    文章目录 1 如何在Panel中嵌入子窗体 1.1 在Panel中嵌入子窗体的方法 1 如何在Panel中嵌入子窗体 1.1 在Panel中嵌入子窗体的方法 首先看嵌入前的效果: 点击按钮" ...

最新文章

  1. The Innovation | Volume 2 Issue 4 正式出版
  2. 主营无线部件 高通与TDK创立合资公司
  3. localStorage和cookie的跨域解决方案
  4. JavsScript中比较大小总结---基于sort()方法
  5. js中String的常用扩展
  6. 销售自动记帐凭证 - 三个常见问题
  7. Codeforces Round #737 (Div. 2) D. Ezzat and Grid 线段树动态开点
  8. 2013dgtcs 数字编码
  9. MySQL filesort优化案例一则
  10. java基础学习_GUI_如何让Netbeans的东西Eclipse能访问、GUI(图形用户接口)_day25总结...
  11. 《批判性思维》感1.1-[信念执念断言]
  12. Linux 安装谷歌浏览器
  13. javaScript实现简单网页倒计时代码
  14. vscode自动加前缀_史上最全vscode配置使用教程
  15. 大数据应用场景”之隔壁老王(连载二)
  16. MOSES统计机器翻译系统实验过程
  17. HBase--JavaAPI的操作,创建表修改表,增删改查数据
  18. 如何让自己像打游戏一样发了疯、拼了命、石乐志的学习或者工作?
  19. MYSQL命令集大全
  20. python程序设计丁亚涛版_Scribus(出版设计软件)中文免费版

热门文章

  1. MATLAB/SAS学习笔记
  2. 如何下载通州区卫星地图高清版大图
  3. springboot房屋租赁管理系统的设计与实现
  4. 树莓派3 基于Ubuntu mate 16.04的调用中文输入法
  5. git基于某个Tag修改提交
  6. 1月13日科技资讯|苹果官网以旧换新价格暴跌;戴威退出 ofo 法人代表及高管;TensorFlow 2.1.0 发布
  7. 马斯克看好的赛道被中国企业率先交卷:研发投入超六成、不到3年营收超20亿,将成「人形机器人第一股」...
  8. 第九章 动态规划-1261:【例9.5】城市交通路网
  9. Microbiome杂志和主编简介
  10. java新闻管理系统代码下载_通用新闻管理系统