mirror of
https://github.com/go-vgo/robotgo.git
synced 2025-06-01 14:43:55 +00:00
Add Process
This commit is contained in:
parent
8fc717c0df
commit
2096f5d482
133
window/process.h
Normal file
133
window/process.h
Normal file
@ -0,0 +1,133 @@
|
||||
// Copyright 2016 The go-vgo Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://www.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// #include <regex.h>
|
||||
#include <string.h>
|
||||
#if defined(IS_MACOSX)
|
||||
#if defined (__x86_64__)
|
||||
#define RobotGo_64
|
||||
#else
|
||||
#define RobotGo_32
|
||||
#endif
|
||||
// #include <sys/utsname.h>
|
||||
// #include <mach/task.h>
|
||||
// #include <mach/mach_vm.h>
|
||||
|
||||
// Apple process API
|
||||
#include <libproc.h>
|
||||
#include <dlfcn.h>
|
||||
#include <ApplicationServices/ApplicationServices.h>
|
||||
|
||||
#ifdef MAC_OS_X_VERSION_10_11
|
||||
#define kAXValueCGPointType kAXValueTypeCGPoint
|
||||
#define kAXValueCGSizeType kAXValueTypeCGSize
|
||||
#endif
|
||||
|
||||
#ifndef EXC_MASK_GUARD
|
||||
#define EXC_MASK_GUARD 0
|
||||
#endif
|
||||
#elif defined(USE_X11)
|
||||
#if defined (__x86_64__)
|
||||
#define RobotGo_64
|
||||
#else
|
||||
#define RobotGo_32
|
||||
#endif
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xatom.h>
|
||||
|
||||
#ifndef X_HAVE_UTF8_STRING
|
||||
#error It appears that X_HAVE_UTF8_STRING is not defined - \
|
||||
please verify that your version of XLib is supported
|
||||
#endif
|
||||
#elif defined(IS_WINDOWS)
|
||||
#if defined (_WIN64)
|
||||
#define RobotGo_64
|
||||
#else
|
||||
#define RobotGo_32
|
||||
#endif
|
||||
|
||||
#include <winuser.h>
|
||||
#include <tchar.h>
|
||||
#endif
|
||||
|
||||
typedef signed char int8; // Signed 8-Bit integer
|
||||
typedef signed short int16; // Signed 16-Bit integer
|
||||
typedef signed int int32; // Signed 32-Bit integer
|
||||
typedef signed long long int64; // Signed 64-Bit integer
|
||||
|
||||
typedef unsigned char uint8; // Unsigned 8-Bit integer
|
||||
typedef unsigned short uint16; // Unsigned 16-Bit integer
|
||||
typedef unsigned int uint32; // Unsigned 32-Bit integer
|
||||
typedef unsigned long long uint64; // Unsigned 64-Bit integer
|
||||
|
||||
typedef float real32; // 32-Bit float value
|
||||
typedef double real64; // 64-Bit float value
|
||||
|
||||
#ifdef RobotGo_64
|
||||
|
||||
typedef int64 intptr; // Signed pointer integer
|
||||
typedef uint64 uintptr; // Unsigned pointer integer
|
||||
|
||||
#else
|
||||
|
||||
typedef int32 intptr; // Signed pointer integer
|
||||
typedef uint32 uintptr; // Unsigned pointer integer
|
||||
|
||||
#endif
|
||||
//
|
||||
|
||||
struct _PData{
|
||||
int32 ProcID; // The process ID
|
||||
|
||||
char* Name; // Name of process
|
||||
char* Path; // Path of process
|
||||
|
||||
bool Is64Bit; // Process is 64-Bit
|
||||
|
||||
#if defined(IS_MACOSX)
|
||||
|
||||
task_t Handle; // The mach task
|
||||
|
||||
#elif defined(USE_X11)
|
||||
|
||||
uint32 Handle; // Unused handle
|
||||
|
||||
#elif defined(IS_WINDOWS)
|
||||
|
||||
HANDLE Handle; // Process handle
|
||||
|
||||
#endif
|
||||
};
|
||||
|
||||
struct _PPData{
|
||||
int32 ProcID; // The process ID
|
||||
|
||||
char** Name; // Name of process
|
||||
char** Path; // Path of process
|
||||
|
||||
bool Is64Bit; // Process is 64-Bit
|
||||
|
||||
#if defined(IS_MACOSX)
|
||||
|
||||
task_t Handle; // The mach task
|
||||
|
||||
#elif defined(USE_X11)
|
||||
|
||||
uint32 Handle; // Unused handle
|
||||
|
||||
#elif defined(IS_WINDOWS)
|
||||
|
||||
HANDLE Handle; // Process handle
|
||||
|
||||
#endif
|
||||
};
|
||||
|
||||
typedef struct _PData PData;
|
@ -10,72 +10,7 @@
|
||||
|
||||
// #include "../base/os.h"
|
||||
// #include <stdlib.h>
|
||||
|
||||
#if defined(IS_MACOSX)
|
||||
#if defined (__x86_64__)
|
||||
#define RobotGo_64
|
||||
#else
|
||||
#define RobotGo_32
|
||||
#endif
|
||||
|
||||
#include <dlfcn.h>
|
||||
#include <ApplicationServices/ApplicationServices.h>
|
||||
// #include <RunningApplications.h>
|
||||
// #include <Foundation/Foundation.h>
|
||||
|
||||
#ifdef MAC_OS_X_VERSION_10_11
|
||||
#define kAXValueCGPointType kAXValueTypeCGPoint
|
||||
#define kAXValueCGSizeType kAXValueTypeCGSize
|
||||
#endif
|
||||
#elif defined(USE_X11)
|
||||
#if defined (__x86_64__)
|
||||
#define RobotGo_64
|
||||
#else
|
||||
#define RobotGo_32
|
||||
#endif
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xatom.h>
|
||||
|
||||
#ifndef X_HAVE_UTF8_STRING
|
||||
#error It appears that X_HAVE_UTF8_STRING is not defined - \
|
||||
please verify that your version of XLib is supported
|
||||
#endif
|
||||
#elif defined(IS_WINDOWS)
|
||||
#if defined (_WIN64)
|
||||
#define RobotGo_64
|
||||
#else
|
||||
#define RobotGo_32
|
||||
#endif
|
||||
|
||||
#include <winuser.h>
|
||||
//#include <windows.h>
|
||||
#include <tchar.h>
|
||||
#endif
|
||||
|
||||
typedef signed char int8; // Signed 8-Bit integer
|
||||
typedef signed short int16; // Signed 16-Bit integer
|
||||
typedef signed int int32; // Signed 32-Bit integer
|
||||
typedef signed long long int64; // Signed 64-Bit integer
|
||||
|
||||
typedef unsigned char uint8; // Unsigned 8-Bit integer
|
||||
typedef unsigned short uint16; // Unsigned 16-Bit integer
|
||||
typedef unsigned int uint32; // Unsigned 32-Bit integer
|
||||
typedef unsigned long long uint64; // Unsigned 64-Bit integer
|
||||
|
||||
typedef float real32; // 32-Bit float value
|
||||
typedef double real64; // 64-Bit float value
|
||||
|
||||
#ifdef RobotGo_64
|
||||
|
||||
typedef int64 intptr; // Signed pointer integer
|
||||
typedef uint64 uintptr; // Unsigned pointer integer
|
||||
|
||||
#else
|
||||
|
||||
typedef int32 intptr; // Signed pointer integer
|
||||
typedef uint32 uintptr; // Unsigned pointer integer
|
||||
|
||||
#endif
|
||||
#include "process.h"
|
||||
|
||||
struct _MData{
|
||||
#if defined(IS_MACOSX)
|
||||
|
Loading…
Reference in New Issue
Block a user