VS2005와 VS2008에서 ParameterType.Value.length is null or not Object와 같은 오류 메시지를 띄운다면..
아래의 방법으로 해결 가능.


요약 :
1. 레지스트리 에디터(regedit)로 아래의 주소로 이동
  주소 : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings\Zones
2. 여기에  "1000"이라는 이름으로 key를 생성
3. 1000 이라는  key 하위에 DWORD 하나를 추가
  이름 : 1207
  타입 : 위에 적은 것처럼 DWORD
  데이터 : 0x000000 (그냥 0 하나만 넣으면 자동으로 변환)
4. VS2005, VS2008을 재시작

처음엔 관리자 권한 때문에 이런 문제가 발생하는 줄 알았으나 익스플로러 8로 인하여 생기는 문제라고 한다.
ShellExecute를 사용하면서 const char를 lpcwstr로 변환할 수 없다는 메세지를 보거나..
혹은 비슷한 메세지를 본다면...
아래의 경우..^^
 
 
VS6에서와 같은 코드로 작성하고 실행하면 컴파일 에러가 발생한다.
이것때문에 삽질을 얼마나..-_-;;
 
예제 -
 
CString str = L"http://www.codeguru.com/Cpp/Cpp/algorithms/checksum/article.php/c2043";
ShellExecute(NULL, _T("open"), str, NULL, NULL, SW_MAXIMIZE );
 
- 예제 끝
 
이렇게 번거롭더라도 _T와 L을 이용하여 코딩해 줘야 에러가 안나더라..흐흑
VS2005에 국한된 이야기가 아니다.
CFileStatus의 m_attribute enum은 아래와 같이 구성되어 있다.
 
enuenum Attribute {
   normal =    0x00,
   readOnly =  0x01,
   hidden =    0x02,
   system =    0x04,
   volume =    0x08,
   directory = 0x10,
   archive =   0x20
};
 
따라서 다음과 같이 파일인지 디렉토리인지 구분할 수 있다.
 
 
CFileStatus fileStatus;
-생략-
if(fileStatus.m_attribute & 0x10)
  디렉토리일 경우
else
  파일일 경우
 
만일 CFileFind 클래스를 사용할 수 있다면 IsDirectory()함수를 사용할 수 있다.
  1. Favicon of http://2010.pe.kr/ BlogIcon 세바스챤 2008.03.11 15:26 신고

    감사합니다 ^o^

  2. Favicon of http://www.specialguy.net BlogIcon 체리 2008.03.12 15:06 신고

    허접한 내용에 감사하다고 해주시니 제가 더 감사합니다 :)

+ Recent posts