반응형

윈도우즈 업데이트를 하다 실패를 하는 경우...;;

이상한 이름의 폴더가 생기는 걸 보신 분들이~~ 꽤 될거라 생각합니다.

얼토당토 않은..  3729b4ebdeef29ec4bec466904ec46cf .. 요런 이름으로 말이죠..

이런 폴더들은 어차피.. -0- 상관없는 폴더이기 때문에 지워버리는게 보통입니다...

그런데.. 어쩌다보면 이 폴더들이 지워지지 않는 경우가 발생합니다...

사용자 삽입 이미지


사용자 삽입 이미지


요런식으로 말이죠...;;;; (액세스가 거부되었다나 뭐라나...)

참.. 난감하더군요;; 재부팅을 해도 지워지지 않습니다...

그렇다고 그냥 냅둔 채로 PC를 쓰기는 또 찝찝하구요...;;

관련 정보를 한참 뒤지다보니...

"폴더에 대한 권한을 가지게 되면 지울 수 있다..." 라는 내용이 있더군요..

아래의 순서를 그대로 따라가면 됩니다. ^^;;;


1. 우선 "폴더 옵션"에서 "모든 사용자에게 동일한 폴더 공유 권한을 지정(권장)" 을 해제합니다.

사용자 삽입 이미지


2. 지우고 싶은 대상 폴더의 "속성"을 클릭합니다.

사용자 삽입 이미지


3. "등록정보" 창이 뜨면 "보안" 탭으로 가서 아래쪽의 "고급" 버튼을 클릭합니다.

사용자 삽입 이미지


4. 폴더에 대한 권한을 가지게 해줄 사용자(현재 윈도우에 로그온 되어있는 계정)를 선택하고 아래쪽의
    "하위 컨테이너와 개체의 소유자 바꾸기" 도 체크를 합니다.

사용자 삽입 이미지


5. 그렇게 해서 "확인"을 해주시고... 폴더를 삭제하면 제대로 지워집니다.

사용자 삽입 이미지


이 방법을 알게되고 폴더를 삭제했을 때... 그 느낌;;;

XX 때문에 무려 십여일 동안 고생하다가 마침내 XX을 보게된 그 느낌 이상이라고나 할까요;;

-0-;;; 지식 백업 차원에서 포스팅을 해둡니다.. ^^;;;
반응형
AND

반응형

사실 Visual Basic(이하 VB) 에 대해서는 잘 모릅니다...;;; (물론, 지금도 마찬가지구요...)

이번에 일을 하면서, 조금 공부하게 된 부분이 있어서 올려봅니다.

회사에서 제가 개발을 하고 있는 부분은 어떻게 보면 중간모듈입니다...

제가 만든 제품 자체가 엔드유저에게 바로 제공되는 것이 아니라....

엔드유저가 사용하게 되는 제품을 개발할 때... 제가 만든 라이브러리/모듈을 쓰거든요;;

저는 C/C++ 로 라이브러리/모듈을 개발하고... 이 라이브러리를 쓰는 업체에서도

대부분은 C/C++ 로 작업을 합니다.
.
.

근데 한번씩... 예외적으로 C/C++ 이 아닌 다른 언어를 쓰는 경우가 있습니다.

델파이랑 VB가 그 대표적인 경우인데요;;;..

이번에 VB를 사용하는 업체에서 라이브러리를 쓰겠다고 요청이 왔습니다;;;..

만약, C/C++ 업체라면 라이브러리 파일(*.LIB)과 헤더파일(*.H), 메뉴얼을 보내주면서..

"작업하다가~~ 문의사항 있음 연락하세요~~" 이러면 되는데...;;;

다른 언어의 경우는 이게 참 힙듭니다..;;

이럴때 DLL 이란게 참~~ 도움이 되는데요...

라이브러리와 동일한 기능을 수행하는 DLL 을 만들어두고... 다른 언어의 경우에는

그 DLL 을 제공하면 되는거죠~~ㅋ

-0-;; 샘플코드를 제공해달라고 하는데..-0- VB는 잘 쓰질 못하고... 난감한 상황에서;;

부랴부랴 이것저것 뒤져가며 결국엔 익혔답니다..;;


#define TEST_DLL extern "C" __declspec(dllexport)

// 1. 'int' Return
TEST_DLL int Test_Sum(int Num1, int Num2);

// 2. 'void' Return
TEST_DLL void Test_Output();

// 3. 'void*' Return
TEST_DLL void* CreateUser();

DLL 에는 위와 같은 함수들이 들어있고, 이 함수들을 VB에서 사용하려면...

먼저 아래와 같이 선언을 해줘야 합니다.

' 1. 'int' Return 
Declare Function Test_Sum Lib "TestDll.dll" (ByVal Num1 As Integer, ByVal Num2 As Integer) As Integer

' 2. 'void' Return
Declare Sub Test_Output Lib "TestDll.dll" ()

' 3. 'void*' Return
Declare Function CreateUser Lib "TestDll.dll" () As Int32

기본틀은....

Declare [Function / Sub] <FunctionName> Lib "<DLL Name>" (인자들) (As 반환값)

요렇습니다...


그리고 함수 선언문을 작성할 때 알아둬야 되는 몇가지 사항들입니다.

1. 해당함수가 리턴하는 값이 없는 경우(void 형 함수)에는 Sub 를 사용한다.
2. 함수의 인자가 값을 넘겨주는 경우는 ByVal 을 주소값(포인터)를 넘겨주는 경우는 ByRef를 사용한다.
3. 선언의 제일 마지막에는 해당함수의 리턴형태를 As 를 사용해서 지정해준다.
    void* 함수처럼 포인터를 리턴하는 경우는 해당 바이트의 수에 맞는 데이터형을 지정한다.
    ( DLL 에서 32비트 데이터로 리턴을 하면 VB에서도 32비트 데이터형으로 받는다. )

선언이 끝나면 코드에서 사용이 가능한데 사용방법은 C/C++ 에서 함수의 사용과 비슷합니다.

단, Sub 로 선언한 함수의 경우는 Call 명령으로 호출해주도록 합니다.
(ex. Call Test_Output() )
.
.

이런식으로 C++ 로 만들어진 DLL을 VB에서도 사용이 가능합니다.

더 세밀한 내용은 저도 잘 모르는 관계로.. 요정도 선에서 수박겉핥기 정도로..ㅋㅋ

반응형
AND

반응형
URL : http://www.codeproject.com/KB/threads/winspy.aspx

다른 프로세스에 코드를 삽입하는 내용에 대한 자료입니다.

Inject...ㅋ;; 이 바닥에선 중요한 기본 기술 중에 하나인만큼..;;

열심히 공부를 해봐야겠습니다..ㅋㅋㅋ; (과연..-_-;;;??)


출처 : 코드프로젝트
반응형
AND