remove another transmute_copy
This commit is contained in:
		
							parent
							
								
									4c9dadc41a
								
							
						
					
					
						commit
						e8182e762d
					
				
							
								
								
									
										800
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										800
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -34,7 +34,7 @@ fn mouse_event(flags: u32, data: u32, dx: i32, dy: i32) -> DWORD {
 | 
			
		||||
            dwExtraInfo: ENIGO_INPUT_EXTRA_VALUE,
 | 
			
		||||
        };
 | 
			
		||||
        let src_ptr = (&m as *const _) as *const u8;
 | 
			
		||||
        std::ptr::copy_nonoverlapping(src_ptr, dst_ptr, std::mem::size_of::<MOUSEINPUT>());
 | 
			
		||||
        std::ptr::copy_nonoverlapping(src_ptr, dst_ptr, size_of::<MOUSEINPUT>());
 | 
			
		||||
    }
 | 
			
		||||
    unsafe { SendInput(1, &mut input as LPINPUT, size_of::<INPUT>() as c_int) }
 | 
			
		||||
}
 | 
			
		||||
@ -52,18 +52,20 @@ fn keybd_event(flags: u32, vk: u16, scan: u16) -> DWORD {
 | 
			
		||||
            scan = MapVirtualKeyExW(vk as _, 0, LAYOUT) as _;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    let mut input = INPUT {
 | 
			
		||||
        type_: INPUT_KEYBOARD,
 | 
			
		||||
        u: unsafe {
 | 
			
		||||
            transmute_copy(&KEYBDINPUT {
 | 
			
		||||
                wVk: vk,
 | 
			
		||||
                wScan: scan,
 | 
			
		||||
                dwFlags: flags,
 | 
			
		||||
                time: 0,
 | 
			
		||||
                dwExtraInfo: ENIGO_INPUT_EXTRA_VALUE,
 | 
			
		||||
            })
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    let mut input: INPUT = unsafe { std::mem::MaybeUninit::zeroed().assume_init() };
 | 
			
		||||
    input.type_ = INPUT_KEYBOARD;
 | 
			
		||||
    unsafe {
 | 
			
		||||
        let dst_ptr = (&mut input.u as *mut _) as *mut u8;
 | 
			
		||||
        let k = KEYBDINPUT {
 | 
			
		||||
            wVk: vk,
 | 
			
		||||
            wScan: scan,
 | 
			
		||||
            dwFlags: flags,
 | 
			
		||||
            time: 0,
 | 
			
		||||
            dwExtraInfo: ENIGO_INPUT_EXTRA_VALUE,
 | 
			
		||||
        };
 | 
			
		||||
        let src_ptr = (&k as *const _) as *const u8;
 | 
			
		||||
        std::ptr::copy_nonoverlapping(src_ptr, dst_ptr, size_of::<KEYBDINPUT>());
 | 
			
		||||
    }
 | 
			
		||||
    unsafe { SendInput(1, &mut input as LPINPUT, size_of::<INPUT>() as c_int) }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user