안드로이드에서 마우스커서를 실시간으로 바꿀 수 있는 방법이 존재하질 않는다.현재 하는 프로젝트에서 안드로이드상에서 마우스커서를 실시간으로 바꿀 수 있어야 하는데 바꾸기 위해서 안드로이드 프레임워크 소스를 수정했다. 관련소스파일.frameworks\base\services\java\com\android\server\input\InputManagerService.javaframeworks\base\services\input\InputReader.cppframeworks\base\core\java\android\view\PointerIcon.javaframeworks\base\core\java\android\hardware\input\IInputManager.aidlframeworks\base\core\jav..
비선형적인 슬라이드바의 값을 얻기 위해서 이차함수 곡선을 이용한다. 점 3개를 지나는 이차함수의 유도방법이 다음 사이트에 나와있다.http://www.vb-helper.com/howto_find_quadratic_curve.html 다음 사이트에서 얻은 정보로 함수를 만들어보면, // 점 3개를 지나는 이차함수 유도 private void GetQuadraticCurveFunction(Point p1, Point p2, Point p3, out double A, out double B, out double C) { double a, b, c; a = ((p2.Y - p1.Y) * (p1.X - p3.X) + (p3.Y - p1.Y) * (p2.X - p1.X)) / ((p1.X - p3.X) * (Mat..
기본적으로 AccessViolationException 예외는 catch가 되지 않고 프로그램이 종료된다. .net4.0에서는 예외처리에 SEH를 지표로 예외를 처리하는데, 위와같은 CSE 예외는 catch가 할 수 없다고 한다. 그런데 app.config에서 간단한 엘리먼트 추가로 cse 예외도 catch 할 수 있다. app.config 파일에서 다음과 같은 xml을 추가하면 된다. 그럼이제 AccessViolationException 예외를 catch 할 수 있다. 참고 URLhttp://stackoverflow.com/questions/3469368/how-to-handle-accessviolationexception http://msdn.microsoft.com/en-us/library/vstu..
DoubleAnimation Ani = new Int32Animation();Ani.To = 1.0;Ani.Duration = new Duration(TimeSpan.FromSeconds(0.5));Ani.AutoReverse = true;Ani.RepeatBehavior = new RepeatBehavior(2); // RepeatBehavior.Forever; 무한반복 button.BeginAnimation(Button.OpacityProperty, Ani); 애니메이션에는 DoubleAnimation Int32Animation... 등 여러가지 자료형에 따른 애니메이션이 존재한다. 프로퍼티에 맞는걸로 사용하면 됌. 저렇게 코드 실행하면 button의 투명도 속성이 0.5초 마다 0~1로 왔다갔다 한..
System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer(); timer.Interval = new TimeSpan(0, 0, 0, 0, 50);timer.Tick += new EventHandler(timer_Tick);timer.Start(); 이렇게하면 동일 스레드상(UI)에서 이벤트 핸들러가 호출된다. 위와 같은 타이머가 윈폼에서는 System.Windows.Forms.Timer 이다. 기타로 System.Threading.Timer 라는 스레드도 존재한다.UI스레드상에서 콜백이 발생하지 않고, 시스템의 스레드풀에서 실행된다. System.Timers.Timer 은 서버기반 타이머라고 한..
System.IO.DriveInfo drv = new System.IO.DriveInfo("C");progressBar_disk.Maximum = drv.TotalSize;progressBar_disk.Value = drv.AvailableFreeSpace;textBlock_disk.Text = string.Format("{0}GB 중 {1}GB 사용가능 ({2})",drv.AvailableFreeSpace / 1024 / 1024 / 1024,drv.TotalSize / 1024 / 1024 / 1024, drv.Name);
회사에서 쓰려고 만든거 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO.MemoryMappedFiles; namespace SharedMemoryHelper { class SharedMemoryHelper : IDisposable { MemoryMappedFile m_hMemoryMapped = null; MemoryMappedViewAccessor m_hMemoryAccessor = null; long m_nCapacity; ~SharedMemoryHelper() { Dispose(); } public void CreateSharedMemory(string mapName..
- Total
- Today
- Yesterday
- PSP
- WL-54G
- 유마일
- 인코더
- 소니
- Programming - C
- 스터디_발표자료
- 하이퍼큐브
- 구글
- GAME
- ffmpeg
- 데몬
- KAI
- 프로그래밍
- c#
- 가상드라이브
- 백신
- V3
- Operation System
- Programming - C / C++
- 녹화
- API 프로그래밍
- WPF
- Programing
- TCP/IP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |