mirror of
				https://github.com/lwch/natpass
				synced 2025-10-31 15:26:19 +08:00 
			
		
		
		
	修正windows下的golint问题
This commit is contained in:
		| @@ -37,8 +37,8 @@ const ( | |||||||
| ) | ) | ||||||
|  |  | ||||||
| const ( | const ( | ||||||
| 	// BI_RGB https://docs.microsoft.com/en-us/previous-versions/dd183376(v=vs.85) | 	// BIRGB https://docs.microsoft.com/en-us/previous-versions/dd183376(v=vs.85) | ||||||
| 	BI_RGB = 0 | 	BIRGB = 0 | ||||||
| 	// DIB_RGB_COLORS https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-getdibits | 	// DIBRGBCOLORS https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-getdibits | ||||||
| 	DIB_RGB_COLORS = 0 | 	DIBRGBCOLORS = 0 | ||||||
| ) | ) | ||||||
|   | |||||||
| @@ -4,26 +4,26 @@ import "syscall" | |||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	libKernel32, _ = syscall.LoadLibrary("kernel32.dll") | 	libKernel32, _ = syscall.LoadLibrary("kernel32.dll") | ||||||
| 	// FuncWTSGetActiveConsoleSessionId https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-wtsgetactiveconsolesessionid | 	// FuncWTSGetActiveConsoleSessionID https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-wtsgetactiveconsolesessionid | ||||||
| 	FuncWTSGetActiveConsoleSessionId, _ = syscall.GetProcAddress(syscall.Handle(libKernel32), "WTSGetActiveConsoleSessionId") | 	FuncWTSGetActiveConsoleSessionID, _ = syscall.GetProcAddress(syscall.Handle(libKernel32), "WTSGetActiveConsoleSessionId") | ||||||
| 	// FuncGlobalAlloc https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalalloc | 	// FuncGlobalAlloc https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalalloc | ||||||
| 	FuncGlobalAlloc, _ = syscall.GetProcAddress(syscall.Handle(libKernel32), "GlobalAlloc") | 	FuncGlobalAlloc, _ = syscall.GetProcAddress(syscall.Handle(libKernel32), "GlobalAlloc") | ||||||
| 	// FuncGlobalFree https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalfree | 	// FuncGlobalFree https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalfree | ||||||
| 	FuncGlobalFree, _ = syscall.GetProcAddress(syscall.Handle(libKernel32), "GlobalFree") | 	FuncGlobalFree, _ = syscall.GetProcAddress(syscall.Handle(libKernel32), "GlobalFree") | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // PROCESS_ALL_ACCESS https://docs.microsoft.com/en-us/windows/win32/procthread/process-security-and-access-rights | // PROCESSALLACCESS https://docs.microsoft.com/en-us/windows/win32/procthread/process-security-and-access-rights | ||||||
| const PROCESS_ALL_ACCESS = 0x1F0FFF | const PROCESSALLACCESS = 0x1F0FFF | ||||||
|  |  | ||||||
| const ( | const ( | ||||||
| 	// GHND https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalalloc | 	// GHND https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalalloc | ||||||
| 	GHND = 0x0042 | 	GHND = 0x0042 | ||||||
| 	// GMEM_FIXED https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalalloc | 	// GMEMFIXED https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalalloc | ||||||
| 	GMEM_FIXED = 0x0000 | 	GMEMFIXED = 0x0000 | ||||||
| 	// GMEM_MOVEABLE https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalalloc | 	// GMEMMOVEABLE https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalalloc | ||||||
| 	GMEM_MOVEABLE = 0x0002 | 	GMEMMOVEABLE = 0x0002 | ||||||
| 	// GMEM_ZEROINIT https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalalloc | 	// GMEMZEROINIT https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalalloc | ||||||
| 	GMEM_ZEROINIT = 0x0040 | 	GMEMZEROINIT = 0x0040 | ||||||
| 	// GPTR https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalalloc | 	// GPTR https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalalloc | ||||||
| 	GPTR = 0x0040 | 	GPTR = 0x0040 | ||||||
| ) | ) | ||||||
|   | |||||||
| @@ -65,6 +65,6 @@ type ICONINFO struct { | |||||||
| } | } | ||||||
|  |  | ||||||
| const ( | const ( | ||||||
| 	// CURSOR_SHOWING https://docs.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-cursorinfo | 	// CURSORSHOWING https://docs.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-cursorinfo | ||||||
| 	CURSOR_SHOWING = 0x00000001 | 	CURSORSHOWING = 0x00000001 | ||||||
| ) | ) | ||||||
|   | |||||||
| @@ -7,6 +7,7 @@ import ( | |||||||
| 	"github.com/lwch/logging" | 	"github.com/lwch/logging" | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | // CADEvent handle ctrl+alt+del event | ||||||
| func (p *Process) CADEvent() { | func (p *Process) CADEvent() { | ||||||
| 	ok, _, err := syscall.Syscall(define.FuncSendSAS, 1, 0, 0, 0) | 	ok, _, err := syscall.Syscall(define.FuncSendSAS, 1, 0, 0, 0) | ||||||
| 	if ok == 0 { | 	if ok == 0 { | ||||||
|   | |||||||
| @@ -62,13 +62,13 @@ func parseProcessName(exeFile [syscall.MAX_PATH]uint16) string { | |||||||
| } | } | ||||||
|  |  | ||||||
| func getSessionID() uintptr { | func getSessionID() uintptr { | ||||||
| 	id, _, _ := syscall.Syscall(define.FuncWTSGetActiveConsoleSessionId, 0, 0, 0, 0) | 	id, _, _ := syscall.Syscall(define.FuncWTSGetActiveConsoleSessionID, 0, 0, 0, 0) | ||||||
| 	return id | 	return id | ||||||
| } | } | ||||||
|  |  | ||||||
| func getSessionUserTokenWin() windows.Token { | func getSessionUserTokenWin() windows.Token { | ||||||
| 	pid := getLogonPid(getSessionID()) | 	pid := getLogonPid(getSessionID()) | ||||||
| 	process, err := windows.OpenProcess(define.PROCESS_ALL_ACCESS, false, pid) | 	process, err := windows.OpenProcess(define.PROCESSALLACCESS, false, pid) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return 0 | 		return 0 | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -92,7 +92,7 @@ func (worker *Worker) capture() error { | |||||||
| 		logging.Error("get cursor info: %v", err) | 		logging.Error("get cursor info: %v", err) | ||||||
| 		return nil | 		return nil | ||||||
| 	} | 	} | ||||||
| 	if curInfo.Flags == define.CURSOR_SHOWING { | 	if curInfo.Flags == define.CURSORSHOWING { | ||||||
| 		var info define.ICONINFO | 		var info define.ICONINFO | ||||||
| 		ok, _, err = syscall.Syscall(define.FuncGetIconInfo, 2, uintptr(curInfo.HCursor), uintptr(unsafe.Pointer(&info)), 0) | 		ok, _, err = syscall.Syscall(define.FuncGetIconInfo, 2, uintptr(curInfo.HCursor), uintptr(unsafe.Pointer(&info)), 0) | ||||||
| 		if ok == 0 { | 		if ok == 0 { | ||||||
| @@ -110,6 +110,7 @@ func (worker *Worker) capture() error { | |||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // BITMAPINFOHEADER https://docs.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-bitmapinfoheader | ||||||
| type BITMAPINFOHEADER struct { | type BITMAPINFOHEADER struct { | ||||||
| 	BiSize          uint32 | 	BiSize          uint32 | ||||||
| 	BiWidth         int32 | 	BiWidth         int32 | ||||||
| @@ -131,10 +132,10 @@ func (worker *Worker) copyImageData(hdc, bitmap uintptr) { | |||||||
| 	hdr.BiBitCount = uint16(worker.info.bits) | 	hdr.BiBitCount = uint16(worker.info.bits) | ||||||
| 	hdr.BiWidth = int32(worker.info.width) | 	hdr.BiWidth = int32(worker.info.width) | ||||||
| 	hdr.BiHeight = int32(-worker.info.height) | 	hdr.BiHeight = int32(-worker.info.height) | ||||||
| 	hdr.BiCompression = define.BI_RGB | 	hdr.BiCompression = define.BIRGB | ||||||
| 	hdr.BiSizeImage = 0 | 	hdr.BiSizeImage = 0 | ||||||
| 	lines, _, err := syscall.Syscall9(define.FuncGetDIBits, 7, hdc, bitmap, 0, uintptr(worker.info.height), | 	lines, _, err := syscall.Syscall9(define.FuncGetDIBits, 7, hdc, bitmap, 0, uintptr(worker.info.height), | ||||||
| 		worker.buffer, uintptr(unsafe.Pointer(&hdr)), define.DIB_RGB_COLORS, 0, 0) | 		worker.buffer, uintptr(unsafe.Pointer(&hdr)), define.DIBRGBCOLORS, 0, 0) | ||||||
| 	if lines == 0 { | 	if lines == 0 { | ||||||
| 		logging.Error("get bits: %v", err) | 		logging.Error("get bits: %v", err) | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -100,7 +100,7 @@ func (worker *Worker) updateInfo(hdc uintptr) error { | |||||||
| } | } | ||||||
|  |  | ||||||
| func (worker *Worker) updateBuffer() error { | func (worker *Worker) updateBuffer() error { | ||||||
| 	addr, _, err := syscall.Syscall(define.FuncGlobalAlloc, 2, define.GMEM_FIXED, uintptr(worker.info.bits*worker.info.width*worker.info.height/8), 0) | 	addr, _, err := syscall.Syscall(define.FuncGlobalAlloc, 2, define.GMEMFIXED, uintptr(worker.info.bits*worker.info.width*worker.info.height/8), 0) | ||||||
| 	if addr == 0 { | 	if addr == 0 { | ||||||
| 		return fmt.Errorf("global alloc: %v", err) | 		return fmt.Errorf("global alloc: %v", err) | ||||||
| 	} | 	} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 lwch
					lwch