크로스 스레드 문제 해결....CheckForIllegalCrossThreadCalls!!

Posted by 나에요임마
2018. 6. 11. 09:24 Program/C#

C# 으로 프로그램을 작성하다 보면
어쩔수 없이 한번은 크로스 쓰레드(Cross Thread ) 문제에 직면하게 됩니다.
이건 뭐 구조적으로 어쩔 수 없는 문제죠~

이때 MSDN 에서 권하는 방법은 Invoke 나 BackgroundWorker 로 호출하여 해결하는 
두가지 방법을 제시합니다..

Invoke 는 Delegate 를 따로 선언하고 호출해줘야 해서 귀찮고,
BackgroundWorker는 다중 쓰레드에나 사용하는거 같은데 은근 부담스럽죠~
뭐 BackgroundWorker 가 사용법은 간결한거 같아도 전 그냥 Invoke 와 
델리게이트로 해결하는 편입니다.

Invoke 와 델리게이트 간단하게 사용법은 이전 포스트
(http://goodhelper.egloos.com/2226125)를 참조하시구요~


그런데 아무리 Invoke 와 델리게이트를 이용해도 크로스스레드를 잡을 수 없는 경우가
있고, 또 굳이 Invoke 와 델리게이트까지 사용하지 않아도 되는 창의 강제종료의 경우에까지
Invoke 와 델리게이트를 엮어서 프로그램을 짜주기는 구찮더란 말입니다. 시간도 없고,,,,

그럴때 요긴하게 사용되는게 CheckForIllegalCrossThreadCalls 입니다.
이건 디버깅중 잘못된 스레드에 관한 Catch를  호출 할 건지 말건지를 설정하는 기능입니다.
그냥 크로스스레드 가 호출되는 윗단에 간단히

CheckForIllegalCrossThreadCalls = false;

를 선언하면 만사 OK 로 해결이 되기는 하는데 이건 어디까지나 임시방편입니다.
결국에는 Invoke 를 사용하던가, BackgroundWorker 를 이용해서 해결 해야 합니다.

시간은 없는데 원인을 도저히 모르겠는 경우에 문제가 발생하였을시 임시로 사용하고
나중에 반드시 관련 문제를 수정을 하는게 좋겠지요~~~^^;

자세한 설명은 아래를 참조하세요~

http://msdn.microsoft.com/ko-kr/library/system.windows.forms.control.checkforillegalcrossthreadcalls.aspx

USB 암호 프로그램 비트라커로 폴더 암호 걸기

Posted by 나에요임마
2018. 6. 10. 21:53 Program/PC etc


비트라커(BitLocker) 윈도우10 프로를 써야하는 또 하나의 이유

비트라커는 윈도우 7 얼티밋 버전부터 지원하였으므로 거의 대부분의 사용자가 홈프리미엄이나 프로를 쓰는 시점에서 그렇게 사용하는 유저가 많지 않았습니다. 그런데 윈도우 7 프로에서 10으로 업그레이드 하면 윈도우 10 프로로 업그레이드 되며 사용하는 유저가 늘었습니다. 이건 서드파티가 아닌 마이크로 소프트 윈도우에서 바로 지원하는 기능이어서 회사가 부도나서 서비스를 못 받거나 하는 걱정도 없고 암호화률도 매우 높아서 해독하기가 굉장히 어렵습니다.

 

윈도우 7 프로 유저의 가장 큰 혜택. 윈도우 10 프로와 비트라커

  1. 비트라커(BitLocker)란 무엇인가

    비트라커는 윈도우에서 제공하는 드라이버 암호화 기술입니다. 여러가지 서드파티 앱들이 있지만 윈도우 운영체제에서 바로 지원하는 비트라커가 사용하기도 쉽고 또 강력한 암호화를 지원합니다. 비트라커를 드라이브에 걸면 그 드라이브에 암호가 걸리고 암호가 없으면 어떤 파일도 접근이 불가능합니다. 드라이브 전체에 암호를 거는 것이므로 비트라커가 걸린 드라이브에 파일을 넣으면 그 파일도 자동으로 암호화가 됩니다. 비트라커가 걸린 드라이브의 암호를 풀어주면 당연히 드라이브 안에 있는 모든 파일이 암호가 풀립니다.

     

     

  2. 비트라커(BitLokcer)와 VHD

    그럼 이시점에서 의문을 가질수도 있습니다. 난 내 하드에 일부 파일만을 암호화 걸고 싶고 내 하드 파티션은 c:하나인데 암호를 걸어 버리면 사용할 때 마다 암호를 입력해야 하고 귀찮다. 네. 맞는 말입니다. 그런데 여기서 비트라커는 드라이브에 거는 것이고 이건 가상드라이브 VHD 에도 해당된다는 말입니다. VHD는 말 그대로 파일 형태를 가진 가상 드라이브, 즉 비트라커가 걸린 VHD에 넣어두기만 하면 모든 파일이 암호화 되고 또 VHD는 파일 형태라서 USB에 이동 복사도 간편합니다. 심지어 클라우드 공유도 가능합니다. 단 비밀번호가 없다면 파일을 보는건 불가능 하지요

     

  3. VHD 만들기

     

    내가 지난 번 포스트에서 VHD로 XP게임 호환하는법에서 설명 드렸지만 다시 한번 설명 드립니다 매우 간단합니다.

     

    검색창에 컴퓨터 관리를 치시고 컴퓨터 관리에 들어갑니다.

     

    만들고 싶은 위치의 드라이브를 선택하시고 동작을 눌러 VHD만들기를 클릭합니다.

     

     

    VHD의 이름과 용량을 부여하고 확인을 눌러 줍니다.

    VHD가 c:에 만들어 졌습니다.

        이건 말그대로 가상 드라이브 이므로 포맷을 해줘야 합니다. 파일을 더블 클릭해서 마운트 하세요    

     

    오른쪽 키를 누르셔서 포멧하시면 됩니다.

     

    초기 화 할 때 GPT 와 MBR 두 방식이 있는데 요즘은 GPT 로 하시면 됩니다. 두 방식의 차이점은 생략하겠습니다.

     

     

    오른쪽 키를 누르셔서 포맷하세요

     

    그냥 다음 다음 하시면 됩니다 쉬워요

     

    포멧을 하셨다면 이제 새 드라이브가 만들어 졌습니다.

    VHD에 대한 더 자세한 설명을 원하시면 이전 XP게임을 호환하자를 참조 하세요 (클릭)

     

  4. 비트라커 거는법

     

    이제 이 VHD 파일은 가상드라이브 이며 파일을 더블 클릭하면 언제나 USB를 꽂은 것과 같이 드라이버로 표시됩니다.

     

    가상드라이브에 가서 오른쪽키를 누르면 USB처럼 BitLocker기능을 켤수 있습니다.

     

     

    암호를 사용 하는게 간편합니다.

     

     

    암호를 잊어 먹었을 때 계정을 이용해 복구 가능합니다

     

     

    암호화를 완료 했습니다.

     

    이제 이 가상 VHD파일은 암호화 되었고 여기 넣는 모든 파일은 암호화가 되어서 비밀번호가 없으면 접속 못합니다. 남자들의 경우 활용도가 무궁무진 할거라 믿습니다.



출처: http://jaykim361.tistory.com/140?category=614998 [제이킴의 스마트워커 (Smart Worker)]

Window10 잠금화면 배경 가져오기

Posted by 나에요임마
2018. 4. 21. 12:46 Program/Windows

robocopy "%UserProfile%\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets" "%UserProfile%\Desktop\Wallpaper" /MIN:102400 /M

rename "%UserProfile%\Desktop\Wallpaper\*" "*.jpg"

WallpaperDown.bat