선더 보드 메일에서 box 를 이용하여 대용량 메일을 보내는것이 가능하여 이용하고 있는데.
유용하게 생각되어 윈도우용 box sync 를 설치 했다.
그런데 다른 클라우드 프로그램이랑 다르게 경로를 지정하는 옵션이 없네 ㅡㅡ.
찾아 보니 바꾸는 방법이 있었다 방법은 레지스트리를 수정하라네 ㅡㅡ. 뭐니..
일단 박스에서 로그 아웃을 한후
내 문서에 박스 싱크 폴더를 지운다.
레지스트리 에디트를 연후
HKEY_LOCAL_MACHINE > SOFTWARE > BOX > BoxSync 이 경로에
새로운 값으로 "SyncRootFolder" 를 만든후 저장 하고자 하는 경로를 값으로 넣는다.
그리고 박스에 로그인하면 경로가 바뀐것이 보일것이다.
2015년 2월 24일 화요일
2015년 2월 11일 수요일
Lua Script 기준 스트링 검색/추출/분리(Find/SubString/Split)
오늘 포스팅 할 내용은 Lua Script 환경에서 스트링 검색/추출/분리 작업에 대해서 이야기 합니다.
프로그램을 만들다 보면 스트링 핸들링은 중요한 항목중에 하나이고 뭐 대충 검색 해보면 많은곳에서 가이드 하고 있습니다.
그래도 샘플을 찾다 보면 내가 제시한 샘플을 찾고 자 하는 사람들을 위해서 ^^
일단 선행 조건은 특정 디렉토리에 파일이 있을경우 파일명만 찾아서 추출하고 과정과 디렉토리 를 "\\" 문자로 분리 하는 과정을
소개 합니다.
strOrgPath = "C:\\Temp\\Dummy.txt";
strOnlyFileName = "";
// 파일을 분리 하기 위한 Reverse Find
// 루아는 뒤에서 부터 찾는 함수가 없어서 문자열을 돌리고 찾는 로직으로 처리함.
nPos = strOrgPath:reverse():find("\\")
// 파일 이름 분리 작업
sOnlyFileName = string.sub(strOrgPath, string.len(strOrgPath)-(nPos-string.len("\\")-1), string.len(strOrgPath))
print ("[" .. sOnlyFileName .. "]")
//디렉토리를 "\\" 로 분리 하는 작업
Lua 는 스트링 분리 하는 함수가 별도로 없으므로
디렉토리를 "\\" 로 분리 하는 작업은 별도 함수로 제작하여 Lua Table 로 리턴하여 처리 되는 구조로 설명합니다.
//스트링 분리 함수.
function SplitString(str, pat)
local t = {}
local fpat = "(.-)" .. pat
local last_end = 1
local s, e, cap = str:find(fpat, 1)
while s do
if s ~= 1 or cap ~= "" then
table.insert(t,cap)
end
last_end = e+1
s, e, cap = str:find(fpat, last_end)
end
if last_end <= #str then
cap = str:sub(last_end)
table.insert(t, cap)
end
return t
end
// 실제 사용방법
parsetbl = SplitString(strOrgPath, "\\")
for i, v in pairs(parsetbl)
do
print ("Key = " .. i .. " Value = " .. v)
end
여기까지 ^^;
프로그램을 만들다 보면 스트링 핸들링은 중요한 항목중에 하나이고 뭐 대충 검색 해보면 많은곳에서 가이드 하고 있습니다.
그래도 샘플을 찾다 보면 내가 제시한 샘플을 찾고 자 하는 사람들을 위해서 ^^
일단 선행 조건은 특정 디렉토리에 파일이 있을경우 파일명만 찾아서 추출하고 과정과 디렉토리 를 "\\" 문자로 분리 하는 과정을
소개 합니다.
strOrgPath = "C:\\Temp\\Dummy.txt";
strOnlyFileName = "";
// 파일을 분리 하기 위한 Reverse Find
// 루아는 뒤에서 부터 찾는 함수가 없어서 문자열을 돌리고 찾는 로직으로 처리함.
nPos = strOrgPath:reverse():find("\\")
// 파일 이름 분리 작업
sOnlyFileName = string.sub(strOrgPath, string.len(strOrgPath)-(nPos-string.len("\\")-1), string.len(strOrgPath))
print ("[" .. sOnlyFileName .. "]")
//디렉토리를 "\\" 로 분리 하는 작업
Lua 는 스트링 분리 하는 함수가 별도로 없으므로
디렉토리를 "\\" 로 분리 하는 작업은 별도 함수로 제작하여 Lua Table 로 리턴하여 처리 되는 구조로 설명합니다.
//스트링 분리 함수.
function SplitString(str, pat)
local t = {}
local fpat = "(.-)" .. pat
local last_end = 1
local s, e, cap = str:find(fpat, 1)
while s do
if s ~= 1 or cap ~= "" then
table.insert(t,cap)
end
last_end = e+1
s, e, cap = str:find(fpat, last_end)
end
if last_end <= #str then
cap = str:sub(last_end)
table.insert(t, cap)
end
return t
end
// 실제 사용방법
parsetbl = SplitString(strOrgPath, "\\")
for i, v in pairs(parsetbl)
do
print ("Key = " .. i .. " Value = " .. v)
end
여기까지 ^^;
2015년 2월 10일 화요일
PHP 기준 스트링 검색/추출/분리(Find/SubString/Split)
오늘 포스팅 할 내용은 PHP 환경에서 스트링 검색/추출/분리 작업에 대해서 이야기 합니다.
프로그램을 만들다 보면 스트링 핸들링은 중요한 항목중에 하나이고 뭐 대충 검색 해보면 많은곳에서 가이드 하고 있습니다.
그래도 샘플을 찾다 보면 내가 제시한 샘플을 찾고 자 하는 사람들을 위해서 ^^
일단 선행 조건은 특정 디렉토리에 파일이 있을경우 파일명만 찾아서 추출하고 과정과 디렉토리 를 "\\" 문자로 분리 하는 과정을
소개 합니다.
$strOrgPath = 'C:\\Temp\\Dummy.txt';
$strOnlyFileName = '';
// 파일을 분리 하기 위한 Reverse Find
$nFind = strrpos($strOrgPath, '\\');
// 파일 이름 분리 작업
if($nFind)
{
$strOnlyFileName = substr($strOrgPath, $nFind+1, strlen($strOrgPath)-$nFind);
echo "$strOnlyFileName <br>";
}
//디렉토리를 "\\" 로 분리 하는 작업
$arrSplitPath = split('\\\\', $strOrgPath);
foreach ($arrSplitPath as $key => $value)
{
printf("Split [%s][%s]<br/>", $key, $value);
}
여기까지 ^^;
프로그램을 만들다 보면 스트링 핸들링은 중요한 항목중에 하나이고 뭐 대충 검색 해보면 많은곳에서 가이드 하고 있습니다.
그래도 샘플을 찾다 보면 내가 제시한 샘플을 찾고 자 하는 사람들을 위해서 ^^
일단 선행 조건은 특정 디렉토리에 파일이 있을경우 파일명만 찾아서 추출하고 과정과 디렉토리 를 "\\" 문자로 분리 하는 과정을
소개 합니다.
$strOrgPath = 'C:\\Temp\\Dummy.txt';
$strOnlyFileName = '';
// 파일을 분리 하기 위한 Reverse Find
$nFind = strrpos($strOrgPath, '\\');
// 파일 이름 분리 작업
if($nFind)
{
$strOnlyFileName = substr($strOrgPath, $nFind+1, strlen($strOrgPath)-$nFind);
echo "$strOnlyFileName <br>";
}
//디렉토리를 "\\" 로 분리 하는 작업
$arrSplitPath = split('\\\\', $strOrgPath);
foreach ($arrSplitPath as $key => $value)
{
printf("Split [%s][%s]<br/>", $key, $value);
}
여기까지 ^^;
2015년 2월 9일 월요일
Objective-C 기준 스트링 검색/추출/분리(Find/SubString/Split)
오늘 포스팅 할 내용은 Objective-C 환경에서 스트링 검색/추출/분리 작업에 대해서 이야기 합니다.
프로그램을 만들다 보면 스트링 핸들링은 중요한 항목중에 하나이고 뭐 대충 검색 해보면 많은곳에서 가이드 하고 있습니다.
그래도 샘플을 찾다 보면 내가 제시한 샘플을 찾고 자 하는 사람들을 위해서 ^^
일단 선행 조건은 특정 디렉토리에 파일이 있을경우 파일명만 찾아서 추출하고 과정과 디렉토리 를 "\\" 문자로 분리 하는 과정을
소개 합니다.
NSString* strOrgPath = @"C:\\Temp\\Dummy.txt";
NSString* strOnlyFileName =@ "";
// 파일을 분리 하기 위한 Reverse Find
NSRange rangeFind = [strOrgPath rangeOfString:@"\\" options:NSBackwardsSearch];
// 파일 이름 분리 작업
if (rangeFind.location != NSNotFound 0)
{
strOnlyFileName = [strOrgPath substringWithRange:NSMakeRange(rangeFind.location+1, [strOrgPath length]-(rangeFind.location+1))];
NSLog(@"%@", strOnlyFileName);
}
//디렉토리를 "\\" 로 분리 하는 작업
NSArray* sArrSplitPath = [strOrgPath componentsSeparatedByString:@"\\"];
for (NSString* sItem in sArrSplitPath)
{
NSLog(@"%@", sItem);
}
여기까지 ^^;
프로그램을 만들다 보면 스트링 핸들링은 중요한 항목중에 하나이고 뭐 대충 검색 해보면 많은곳에서 가이드 하고 있습니다.
그래도 샘플을 찾다 보면 내가 제시한 샘플을 찾고 자 하는 사람들을 위해서 ^^
일단 선행 조건은 특정 디렉토리에 파일이 있을경우 파일명만 찾아서 추출하고 과정과 디렉토리 를 "\\" 문자로 분리 하는 과정을
소개 합니다.
NSString* strOrgPath = @"C:\\Temp\\Dummy.txt";
NSString* strOnlyFileName =
// 파일을 분리 하기 위한 Reverse Find
NSRange rangeFind = [strOrgPath rangeOfString:@"\\" options:NSBackwardsSearch];
// 파일 이름 분리 작업
if (rangeFind.location != NSNotFound 0)
{
strOnlyFileName = [strOrgPath substringWithRange:NSMakeRange(rangeFind.location+1, [strOrgPath length]-(rangeFind.location+1))];
NSLog(@"%@", strOnlyFileName);
}
//디렉토리를 "\\" 로 분리 하는 작업
NSArray* sArrSplitPath = [strOrgPath componentsSeparatedByString:@"\\"];
for (NSString* sItem in sArrSplitPath)
{
NSLog(@"%@", sItem);
}
여기까지 ^^;
2015년 2월 6일 금요일
Windows Server 2012R2 RDP Multiple Session Setting.
오늘 포스팅 할내용은 윈도우 서버 리모트 세션 다수 지정하는 방법입니다.
설명은 Windows Server 2012R2 기준으로 설명 드리겠습니다.
Win 키 누르고 -> 검색을 누른후 "gpedit.msc" 를 실행합니다.
로컬그룹정책 편집기 라는 창이 활성화 될겁니다.
여기서 좌측 트리에서 컴퓨터구성->관리탬플릿->Windows 구성요소->터미털서비스
->원격 테스크톱 세션 호스트->연결 까지 들어가세요.
다음 "원격 데스크톱 서비스 사용자를 하나의 원격 데스크톱 서비스 세션으로 제한" 항목을 더블클릭한후
"사용 안함" 으로 선택 하고 적용합니다.
다음 "연결 개수 제한" 을 더블 클릭한후 "사용" 으로 선택하고 "TS 최대 허용 연결" 항목을 원하는 숫자로 맞춥니다.
저장을 완료 한후 저는 리부팅 하여 처리 했는데 부팅을 안하고도 되는지는 확인을 안해봤네요 ^^
그럼 여기까지...
설명은 Windows Server 2012R2 기준으로 설명 드리겠습니다.
Win 키 누르고 -> 검색을 누른후 "gpedit.msc" 를 실행합니다.
로컬그룹정책 편집기 라는 창이 활성화 될겁니다.
여기서 좌측 트리에서 컴퓨터구성->관리탬플릿->Windows 구성요소->터미털서비스
->원격 테스크톱 세션 호스트->연결 까지 들어가세요.
다음 "원격 데스크톱 서비스 사용자를 하나의 원격 데스크톱 서비스 세션으로 제한" 항목을 더블클릭한후
"사용 안함" 으로 선택 하고 적용합니다.
다음 "연결 개수 제한" 을 더블 클릭한후 "사용" 으로 선택하고 "TS 최대 허용 연결" 항목을 원하는 숫자로 맞춥니다.
저장을 완료 한후 저는 리부팅 하여 처리 했는데 부팅을 안하고도 되는지는 확인을 안해봤네요 ^^
그럼 여기까지...
Windows Server 2012R2 Auto Admin Login
윈도우 서버(2012R2) 에 Admin 계정을 자동으로 로그인 시켜야 할때
레지스트리 값을 수정해서 저장하면 처리 된다.
HKLM\Software\Microsoft\Windows NT\CurrentVersion\winlogon
AutoAdminLogon = 1
DefaultUsername = currentUserName
DefaultPassword = currentPassword
유저 네임과 패스워드는 지정해 놓은것을 넣으면 됨.
레지스트리 값을 수정해서 저장하면 처리 된다.
HKLM\Software\Microsoft\Windows NT\CurrentVersion\winlogon
AutoAdminLogon = 1
DefaultUsername = currentUserName
DefaultPassword = currentPassword
유저 네임과 패스워드는 지정해 놓은것을 넣으면 됨.
Java 기준 스트링 검색/추출/분리(Find/SubString/Split)
오늘 포스팅 할 내용은 Java 환경에서 스트링 검색/추출/분리 작업에 대해서 이야기 합니다.
프로그램을 만들다 보면 스트링 핸들링은 중요한 항목중에 하나이고 뭐 대충 검색 해보면 많은곳에서 가이드 하고 있습니다.
그래도 샘플을 찾다 보면 내가 제시한 샘플을 찾고 자 하는 사람들을 위해서 ^^
일단 선행 조건은 특정 디렉토리에 파일이 있을경우 파일명만 찾아서 추출하고 과정과 디렉토리 를 "\\" 문자로 분리 하는 과정을
소개 합니다.
String strOrgPath = "C:\\Temp\\Dummy.txt";
String strOnlyFileName = "";
// 파일을 분리 하기 위한 Reverse Find
int nFind = strOrgPath.lastIndexOf("\\");
// 파일 이름 분리 작업
if (nFind >= 0)
{
strOnlyFileName = strOrgPath.substring(nFind+1, strOrgPath.length());
System.out.println(strOnlyFileName);
}
//디렉토리를 "\\" 로 분리 하는 작업
String[] sArrSplitPath = strOrgPath.split("[\\\\]");
for (int i = 0; i < sArrSplitPath.length; i++ )
{
System.out.println(sArrSplitPath[i]);
}
여기까지 ^^;
프로그램을 만들다 보면 스트링 핸들링은 중요한 항목중에 하나이고 뭐 대충 검색 해보면 많은곳에서 가이드 하고 있습니다.
그래도 샘플을 찾다 보면 내가 제시한 샘플을 찾고 자 하는 사람들을 위해서 ^^
일단 선행 조건은 특정 디렉토리에 파일이 있을경우 파일명만 찾아서 추출하고 과정과 디렉토리 를 "\\" 문자로 분리 하는 과정을
소개 합니다.
String strOrgPath = "C:\\Temp\\Dummy.txt";
String strOnlyFileName = "";
// 파일을 분리 하기 위한 Reverse Find
int nFind = strOrgPath.lastIndexOf("\\");
// 파일 이름 분리 작업
if (nFind >= 0)
{
strOnlyFileName = strOrgPath.substring(nFind+1, strOrgPath.length());
System.out.println(strOnlyFileName);
}
//디렉토리를 "\\" 로 분리 하는 작업
String[] sArrSplitPath = strOrgPath.split("[\\\\]");
for (int i = 0; i < sArrSplitPath.length; i++ )
{
System.out.println(sArrSplitPath[i]);
}
여기까지 ^^;
2015년 2월 4일 수요일
C# 기준 스트링 검색/추출/분리(Find/SubString/Split)
오늘 포스팅 할 내용은 C# 환경에서 스트링 검색/추출/분리 작업에 대해서 이야기 합니다.
프로그램을 만들다 보면 스트링 핸들링은 중요한 항목중에 하나이고 뭐 대충 검색 해보면 많은곳에서 가이드 하고 있습니다.
그래도 샘플을 찾다 보면 내가 제시한 샘플을 찾고 자 하는 사람들을 위해서 ^^
일단 선행 조건은 특정 디렉토리에 파일이 있을경우 파일명만 찾아서 추출하고 과정과 디렉토리 를 "\\" 문자로 분리 하는 과정을
소개 합니다.
string strOrgPath = "C:\\Temp\\Dummy.txt";
string strOnlyFileName = "";
// 파일을 분리 하기 위한 Reverse Find
int nFind = strOrgPath.LastIndexOf("\\");
// 파일 이름 분리 작업
if (nFind >= 0)
{
strOnlyFileName = strOrgPath.Substring(nFind+1, strOrgPath.Length - (nFind+1));
Debug.WriteLine(strOnlyFileName);
}
//디렉토리를 "\\" 로 분리 하는 작업
string[] sSep = { "\\" };
string[] sArrSplitPath = strOrgPath.Split(sSep, StringSplitOptions.None);
for (int i = 0; i < sArrSplitPath.Length; i++ )
{
Debug.WriteLine(sArrSplitPath[i]);
}
여기까지 ^^;
프로그램을 만들다 보면 스트링 핸들링은 중요한 항목중에 하나이고 뭐 대충 검색 해보면 많은곳에서 가이드 하고 있습니다.
그래도 샘플을 찾다 보면 내가 제시한 샘플을 찾고 자 하는 사람들을 위해서 ^^
일단 선행 조건은 특정 디렉토리에 파일이 있을경우 파일명만 찾아서 추출하고 과정과 디렉토리 를 "\\" 문자로 분리 하는 과정을
소개 합니다.
string strOrgPath = "C:\\Temp\\Dummy.txt";
string strOnlyFileName = "";
// 파일을 분리 하기 위한 Reverse Find
int nFind = strOrgPath.LastIndexOf("\\");
// 파일 이름 분리 작업
if (nFind >= 0)
{
strOnlyFileName = strOrgPath.Substring(nFind+1, strOrgPath.Length - (nFind+1));
Debug.WriteLine(strOnlyFileName);
}
//디렉토리를 "\\" 로 분리 하는 작업
string[] sSep = { "\\" };
string[] sArrSplitPath = strOrgPath.Split(sSep, StringSplitOptions.None);
for (int i = 0; i < sArrSplitPath.Length; i++ )
{
Debug.WriteLine(sArrSplitPath[i]);
}
여기까지 ^^;
Visual C++ (MFC) 기준 스트링 검색/추출/분리(Find/SubString/Split)
오늘 포스팅 할 내용은 Visual C++(MFC) 환경에서 스트링 검색/추출/분리 작업에 대해서 이야기 합니다.
프로그램을 만들다 보면 스트링 핸들링은 중요한 항목중에 하나이고 뭐 대충 검색 해보면 많은곳에서 가이드 하고 있습니다.
그래도 샘플을 찾다 보면 내가 제시한 샘플을 찾고 자 하는 사람들을 위해서 ^^
일단 선행 조건은 특정 디렉토리에 파일이 있을경우 파일명만 찾아서 추출하고 과정과 디렉토리 를 "\\" 문자로 분리 하는 과정을
소개 합니다.
CString strOrgPath = "C:\\Temp\\Dummy.txt";
CString strOnlyFileName = "";
// 파일을 분리 하기 위한 Reverse Find
int nFind = strOrgPath.ReverseFind('\\');
// 파일 이름 분리 작업.
if(nFind >= 0)
strOnlyFileName = strOrgPath.Mid(nPos+1, strOrgPath.GetLength()-nPos);
MFC 는 스트링 분리 하는 함수가 별도로 없으므로
디렉토리를 "\\" 로 분리 하는 작업은 별도 함수로 제작하여 CStringArray 로 리턴하여 처리 되는 구조로 설명합니다.
//스트링 분리 함수.
int SplitString(LPCTSTR szText, LPCTSTR separator, CStringArray &arrData)
{
CString strText = szText;
arrData.RemoveAll();
strText.TrimLeft(); strText.TrimRight();
if(strText.IsEmpty()) return 0;
int nSeLen = strlen(separator);
int nCount = 0;
CString strTemp, strTemp1;
int nIndex = strText.Find(separator);
while (nIndex >= 0)
{
strTemp = strText.Left(nIndex);
strText = strText.Mid(nIndex+nSeLen);
nCount++;
arrData.Add(strTemp);
nIndex = strText.Find(separator);
}
arrData.Add(strText);
return arrData.GetSize();
}
// 실제 사용방법
CStringArray sArrSplitPath;
int nSplitCnt = SplitString(strOrgPath, "\\", sArrSplitPath);
for(int i=0; i<nSplitCnt; i++)
{
TRACE("Path = %s\n", sArrSplitPath[i]);
}
여기까지 ^^;
프로그램을 만들다 보면 스트링 핸들링은 중요한 항목중에 하나이고 뭐 대충 검색 해보면 많은곳에서 가이드 하고 있습니다.
그래도 샘플을 찾다 보면 내가 제시한 샘플을 찾고 자 하는 사람들을 위해서 ^^
일단 선행 조건은 특정 디렉토리에 파일이 있을경우 파일명만 찾아서 추출하고 과정과 디렉토리 를 "\\" 문자로 분리 하는 과정을
소개 합니다.
CString strOrgPath = "C:\\Temp\\Dummy.txt";
CString strOnlyFileName = "";
// 파일을 분리 하기 위한 Reverse Find
int nFind = strOrgPath.ReverseFind('\\');
// 파일 이름 분리 작업.
if(nFind >= 0)
strOnlyFileName = strOrgPath.Mid(nPos+1, strOrgPath.GetLength()-nPos);
MFC 는 스트링 분리 하는 함수가 별도로 없으므로
디렉토리를 "\\" 로 분리 하는 작업은 별도 함수로 제작하여 CStringArray 로 리턴하여 처리 되는 구조로 설명합니다.
//스트링 분리 함수.
int SplitString(LPCTSTR szText, LPCTSTR separator, CStringArray &arrData)
{
CString strText = szText;
arrData.RemoveAll();
strText.TrimLeft(); strText.TrimRight();
if(strText.IsEmpty()) return 0;
int nSeLen = strlen(separator);
int nCount = 0;
CString strTemp, strTemp1;
int nIndex = strText.Find(separator);
while (nIndex >= 0)
{
strTemp = strText.Left(nIndex);
strText = strText.Mid(nIndex+nSeLen);
nCount++;
arrData.Add(strTemp);
nIndex = strText.Find(separator);
}
arrData.Add(strText);
return arrData.GetSize();
}
// 실제 사용방법
CStringArray sArrSplitPath;
int nSplitCnt = SplitString(strOrgPath, "\\", sArrSplitPath);
for(int i=0; i<nSplitCnt; i++)
{
TRACE("Path = %s\n", sArrSplitPath[i]);
}
여기까지 ^^;
2015년 2월 2일 월요일
C# Format String 쓰기
코딩을 하다보면 String 클래스의 Format을 많이 쓰는데 전통적으로 쓰는 방식과 달리 C#은 파라메터
정의 하는 방법이 바뀌었다.
[Visual C++]
CString sTemp;
sTemp.Format("Test %s", "111");
[C#]
string sTemp = string.Format("Test {0}", "111"};
위 샘플과 같이 매칭 파라메터가 {} 로 바뀌었고 안에 숫자는 순서를 의미한다.
정의 하는 방법이 바뀌었다.
[Visual C++]
CString sTemp;
sTemp.Format("Test %s", "111");
[C#]
string sTemp = string.Format("Test {0}", "111"};
위 샘플과 같이 매칭 파라메터가 {} 로 바뀌었고 안에 숫자는 순서를 의미한다.
ListCtrl 선택항목 클립보드 복사하기.
CListCtrl 에 선택된 항목을 클립보드로 복사해서 다른곳으로 복사 해야 할경우가 있다.
이것을 처리 하기 위해서는 리스트 컨트롤 선택된 항목을 원하는 형태로 데이터를 모은후
아래 코드를 적용해 클립보드로 복사 할수 있다.
// sCopyData 는 실제로 리스트 컨트롤에서 클립보드로 복사할 데이터를 모은 데이터.
if (m_ListCtlResult.OpenClipboard())// 리스트 컨트롤에 클립보드 오픈.
{
EmptyClipboard();
int nLen = sCopyData.GetLength() * sizeof(WCHAR) + 2;
HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE | GMEM_DDESHARE, nLen);
LPBYTE pGlobalData = (LPBYTE)GlobalLock(hGlobal);
USES_CONVERSION_EX;
CopyMemory(pGlobalData, T2CW_EX(sCopyData, _ATL_SAFE_ALLOCA_DEF_THRESHOLD), nLen);
SetClipboardData(CF_UNICODETEXT, hGlobal);
GlobalUnlock(hGlobal);
GlobalFree(hGlobal);
CloseClipboard();
}
else
{
AfxMessageBox("복사되지 않았습니다.");
return;
}
이것을 처리 하기 위해서는 리스트 컨트롤 선택된 항목을 원하는 형태로 데이터를 모은후
아래 코드를 적용해 클립보드로 복사 할수 있다.
// sCopyData 는 실제로 리스트 컨트롤에서 클립보드로 복사할 데이터를 모은 데이터.
if (m_ListCtlResult.OpenClipboard())// 리스트 컨트롤에 클립보드 오픈.
{
EmptyClipboard();
int nLen = sCopyData.GetLength() * sizeof(WCHAR) + 2;
HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE | GMEM_DDESHARE, nLen);
LPBYTE pGlobalData = (LPBYTE)GlobalLock(hGlobal);
USES_CONVERSION_EX;
CopyMemory(pGlobalData, T2CW_EX(sCopyData, _ATL_SAFE_ALLOCA_DEF_THRESHOLD), nLen);
SetClipboardData(CF_UNICODETEXT, hGlobal);
GlobalUnlock(hGlobal);
GlobalFree(hGlobal);
CloseClipboard();
}
else
{
AfxMessageBox("복사되지 않았습니다.");
return;
}
피드 구독하기:
글 (Atom)