검색결과 리스트
Windows에 해당되는 글 3건
- 2016.07.11 [Windows]윈도우즈 서비스 등록
- 2015.05.07 [Windows only] 설치된 기본 아웃룩에 파일을 첨부해서 메일 보낼 수 있게 하기.
- 2015.03.03 QT 에서의 string 처리 모음
//기본 클라이언트의 실행 파일 주소를 알수 있다.
QSettings settings("HKEY_CLASSES_ROOT\\mailto\\shell\\open\\command",QSettings::NativeFormat);
QString value = settings.value(".").toString();
//실제 가져와 보면 이런 값들이 있다.
"C:\PROGRA~1\MICROS~1\Office15\OUTLOOK.EXE" -c IPM.Note /mailto "%1"
이걸 직접 쓰는데는 문제가 있어서 난 이렇게 했다.
QProcess process;
QString program;//
value.replace("\"",""); //레지스트리 값의 따옴표 제거
value.replace("\\","\\\\"); //경로 구분자 변경
value.replace("/mailto",""); //제거
value.replace("%1","");//제거
value.replace("-c","");//제거
value.replace("IPM.Note","");//제거
program = value;
QStringList attach = QStringList()<<"/c" << "ipm.note"<<"/a" << "C:/valid.png";//이미 레지스트리에 있는 값 중에 내가 원하는 인자를 string list로 추가함
process.start(program,attach);process.waitForFinished();//해당 코드는 OS 환경에 따라서 필요 없기도 하지만 난 무조건 추가한다.
1. hex 값이 들어 있는 QbyteArray를 String으로 만들 때
QString temp = QString(tarr.toHex());
QString().sprintf 으로 할려니까 노답.
2. hex값 들이 나열된 string을 int로 바꿀 때
qint64 tvalue = temp.toInt(&ok, 16);
3. Windows의 localtime32로 생성한 데이터를 바이너리 데이터로 저장하고 QT에서 읽어올때
1,2번을 거쳐서 만든 값은 sec 값으로서 해당 값에 1000을 곱해준 다음에 밀리세컨드를 시간으로 변경해주는 함수를 사용한다.
QDateTime datatime = QDateTime::fromMSecsSinceEpoch(tvalue * 1000);
4. 10진수 값을 hex string으로 만들때.
QString::number(temp_number[1], 16)
만일 이 값의 "0"으로 자릿수를 맞추면서 hex로 변환한다고 한다면
QString("%1").arg(temp_number[1], 2, 16, QLatin1Char( '0' )).toUpper()
RECENT COMMENT