protected override void Dispose(bool disposing) { base.Dispose(disposing); if (myHandle != IntPtr.Zero) { HTCNativeMethods.HTCSensorClose(myHandle); myHandle = IntPtr.Zero; } }
public HTCNavSensor(Form form) { myHandler = new WndProcHandler(WndProc); myForm = form; myOldWndProc = SetWindowLong(form.Handle, WindowLong.GWL_WNDPROC, Marshal.GetFunctionPointerForDelegate(myHandler)); int ret = HTCNativeMethods.HTCNavOpen(form.Handle, HTCNativeMethods.HTCNavOpenAPI); ret = HTCNativeMethods.HTCNavSetMode(form.Handle, HTCAPIMode.Gesture); }
public static HTCGSensor Create() { IntPtr hEvent = CreateEvent(IntPtr.Zero, true, false, "HTC_GSENSOR_SERVICESTART"); SetEvent(hEvent); CloseHandle(hEvent); IntPtr handle = HTCNativeMethods.HTCSensorOpen(HTCSensor.GSensor); return(new HTCGSensor(handle)); }
public void Dispose() { if (myOldWndProc != IntPtr.Zero && myForm != null) { SetWindowLong(myForm.Handle, WindowLong.GWL_WNDPROC, myOldWndProc); myOldWndProc = IntPtr.Zero; } HTCNativeMethods.HTCNavClose(HTCNativeMethods.HTCNavOpenAPI); myForm = null; myRotated = null; }
protected override void Dispose(bool disposing) { base.Dispose(disposing); if (myHandle != IntPtr.Zero) { HTCNativeMethods.HTCSensorClose(myHandle); myHandle = IntPtr.Zero; } // note: I noticed in Scott's code, on the shutdown he fires the "HTC_GSENSOR_SERVICESTART" event again. // I am guessing that is a bug in his code. // My theory is the service start/stop manage a reference count to the service. // Once it hits 0, the service is stopped. IntPtr hEvent = CreateEvent(IntPtr.Zero, true, false, "HTC_GSENSOR_SERVICESTOP"); SetEvent(hEvent); CloseHandle(hEvent); }
public static HTCLightSensor Create() { return(new HTCLightSensor(HTCNativeMethods.HTCSensorOpen(HTCSensor.Light))); }