返回顶部

收藏

Google Go语言调用window api函数执行程序

更多

Google Go语言通过syscall,unsafe模块访问windows api,ShellExecute

[Google Go]代码

package main

import "syscall"
import "unsafe"

func main() {
    var hand uintptr = uintptr(0);
    var operator uintptr = uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr("open")));
    var fpath uintptr = uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr("D:\\Program Files\\TTPlayer\\TTPlayer.exe")));
    var param uintptr = uintptr(0);
    var dirpath uintptr = uintptr(0);
    var ncmd uintptr = uintptr(1);
    shell32 := syscall.NewLazyDLL("shell32.dll");
    ShellExecuteW := shell32.NewProc("ShellExecuteW");
    _,_,_ = ShellExecuteW.Call(hand,operator,fpath,param,dirpath,ncmd);
}

标签:Go

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. yanxinchi 发表 2018-10-12 15:31:33 gRPC-Java 1.15.1 正式发布,gRPC 的 Java 实现
  2. 博主 发表 2018-09-28 11:56:50 Go web 开发中的cookie和session
  3. 博主 发表 2018-09-08 03:26:50 Go语言初探
  4. 博主 发表 2016-12-31 04:38:37 hadoop流水账之HBase,Spark和在Spark上操作HBase
  5. 博主 发表 2017-01-07 07:34:01 一年一语言之2016
  6. 博主 发表 2018-09-07 11:48:11 图像相似性比较实践
  7. 博主 发表 2018-09-06 11:21:16 Go http2 和 h2c
  8. 博主 发表 2018-09-02 08:47:25 快速产生一个随机字符串
  9. 博主 发表 2018-08-28 12:19:50 C和Go相互调用
  10. 博主 发表 2018-02-28 06:05:42 go addressable 详解
  11. 博主 发表 2018-03-08 07:59:36 Go网络开发中的两个技术点
  12. 博主 发表 2018-03-13 03:25:21 [译]使用 LLDB 调试 Go 程序