<div>씨샵으로 폼없이 화면에 직접 텍스트를 뿌려주는기능을 테스트 중입니다</div> <div>이전에 집어넣어줬던 스트링이 계속 화면에 남아서 무한루프로 실험해보니까 메모리 사용량이 조금씩 꾸준히 올라가네요</div> <div>GC도 동작하지않고요</div> <div><br></div> <div>코드입니다</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>private const int DCX_WINDOW = 0x00000001;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>private const int DCX_CACHE = 0x00000002;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>private const int DCX_LOCKWINDOWUPDATE = 0x00000400;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>[DllImport("user32.dll")]</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>private static extern IntPtr GetDesktopWindow();</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>[DllImport("user32.dll")]</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>private static extern IntPtr GetDCEx(IntPtr hwnd, IntPtr hrgn, uint flags);</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>public static void TestDrawingOnDesktop(String s)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>IntPtr hdc = GetDCEx(GetDesktopWindow(), IntPtr.Zero, DCX_WINDOW | DCX_CACHE | DCX_LOCKWINDOWUPDATE);</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>using (Graphics g = Graphics.FromHdc(hdc))</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>StringFormat sf = new StringFormat();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>sf.LineAlignment = StringAlignment.Center;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>sf.Alignment = StringAlignment.Center;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>g.DrawString(s, new Font("굴림", 50F), Brushes.Red, 1000, 1000);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>g.ReleaseHdc(g.GetHdc());</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>public static void Main(String[] args)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int count = 0;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>while(true)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>count++;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>TestDrawingOnDesktop(count.ToString());</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><br></div> <div><br></div> <div>또 이게 한번 그리고 화면에 변화가 생기면 해당 부분이 지워져버리는데 이문제는 어떻게 해결하는지 알고싶습니다</div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.