참고: LEOPOLD 자료실

http://www.leopold.co.kr/?doc=bbs/gnuboard.php&bo_table=pds&wr_id=1

http://www.leopold.co.kr/?doc=bbs/gnuboard.php&bo_table=pds&wr_id=4


2개의 파일을 하나로 합쳤다.


오른쪽ALT한글오른쪽WIN한자전환.reg


'UserMode' 카테고리의 다른 글

[SVN] 한글사용  (0) 2015.04.29
노트북(Laptop) 저 해상도 문제  (0) 2008.01.30

프로그램을 사용하다보면 옵션 일부가 선택이 안되는 경우가 있다.

이를 활성화시켜 선택할 수 있게 해주는 프로그램이다.


[사용법]


1. 탐색기에서 `enabler.exe` 를 선택합니다.

2. 비활성화 된 옵션이 있는 위치로 마우스 커서를 옮깁니다.

3. Enter 키를 눌러서 `enabler.exe` 를 실행합니다.

4. 선택하려는 옵션을 마우스 커서로 클릭합니다. (포커스만 이동되고 선택되지 않음)

5. Space 키를 누릅니다. (원하는 옵션으로 변경됩니다)

6. 각 탭마다 1~5 를 반복합니다.


enabler.zip


코드공개: GitHub

CTRL + EJECT (우측 상단의 CD Eject 버튼)

누르시면 맥 본체의 전원키를 누른 것과 같이 동작합니다.


CMD + OPT + EJECT

잠자기


OPT + SHIFT + VolumeUp/VolumeDown

1/4 단위로 볼륨조절이 가능합니다. :)


purge (xcode)

메모리 최적화


한글 입력중 OPT 누른채로 입력하면 영문 입력


FN + CTRL + F3

Dock 포커스


CTRL + OPT + CMD + 8


(in LaunchPad) CTRL + OPT + CMD + B



Ubuntu on Windows 10 linux sub system

Ubuntu Server 16.04


1. receive codes

mkdir ~/raspberrypi

cd ~/raspberrypi

git clone https://github.com/raspberrypi/tools

git clone https://github.com/raspberrypi/linux


2. modify ".bashrc"

append below code

export PATH=/home/[username]/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin:$PATH


3. install gcc-arm-linux-gnueabihf

sudo apt-get install gcc-arm-linux-gnueabihf

(on Ubuntu Server 16.04) sudo apt-get install bc


4. build

cd ~/raspberrypi/linux

KERNEL=kernel7

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs -j 3 # -j [core number]*1.5



'Linux > Ubuntu' 카테고리의 다른 글

Install cloud 9 ide on ubuntu 16.04  (0) 2016.08.26
system_dbus_socket : Connection refused  (0) 2011.10.27
Ubuntu Panel Theme 문제  (0) 2011.10.27

1. install Node.js (use nvm)

sudo apt-get remove nodejs # remove legacy

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

nvm install 6.9.1

nvm use 6.9.1

nvm alias default 6.9.1

npm install -g npm


2. install Cloud9 ide

sudo apt-get install git build-essential python g++ curl libssl-dev apache2-utils git-core make automake autoconf # preinstall

git clone https://github.com/c9/core.git ~/c9sdk

cd ~/c9sdk

sudo ./scripts/install-sdk.sh

sudo npm install


3. run Cloud9

mkdir ~/workspace # create workspace

node ~/c9sdk/server.js -w ~/workspace/ -p 8181 -l 0.0.0.0 -a [user]:[pass] & disown


4. update Cloud9

cd ~/c9sdk

git pull origin master

sudo ./scripts/install-sdk.sh


5. EACCES problem

maybe need permission to access ".c9" and ".node-gyp" directory.

change owner and group same as the user that running Node.js.


6. references

http://blog.naver.com/sonmg/220481210845

http://coolkim.tistory.com/472

https://github.com/c9/core


'Linux > Ubuntu' 카테고리의 다른 글

raspberry pi 2 kernel cross-compile  (0) 2016.08.27
system_dbus_socket : Connection refused  (0) 2011.10.27
Ubuntu Panel Theme 문제  (0) 2011.10.27


PlaySound 함수는 파일 이름, 리소스, 또는 시스템 이벤트에 의해 명시된 소리를 재생한다. (시스템 이벤트는 레지스트리 또는 WIN.INI 파일에 있는 소리와 연관될 수 있다.)


문법


C++


BOOL PlaySound(

    LPCTSTR pszSound,

    HMODULE hmod,

    DWORD fdwSound

);


매개 변수


pszSound


재생할 소리를 지정하는 문자열. 최대 길이는 널 종료 포함 256 자 이다. 이 값이 NULL 이면 wave 형식의 소리 재생을 중지한다. wave 형식이 아닌 소리를 중지시키려면 fdwSound 매개 변수에 SND_PURGE 를 명시하라.


fdwSound 의 3개의 플래그 (SND_ALIAS, SND_FILENAME, 그리고 SND_RESOURCE) 는 이름이 시스템 이벤트, 파일 이름, 또는 리소스 식별자중 어떤 것인지를 결정한다. 이 플래그들이 명시되지 않으면, PlaySound 는 레지스트리 또는 WIN.INI 파일에서 명시된 소리 이름과 연관된 것을 검색한다. 연관된 것이 검색되면, 소리 이벤트가 재생된다. 레지스트리에 관련된 것이 없다면, 파일 이름으로 해석한다.


hmod


읽을 수 있는 리소스를 포함한 실행가능한 파일에 대한 핸들. fdwSound 에 SND_RESOURCE 가 명시되지 않은한 NULL 이어야 한다.


fdwSound


소리 재생에 관한 플래그. 다음 값들이 정의되어있다.


 값

의미 

 SND_APPLICATION

 pszSound 매개 변수는 레지스트리에 있는 응용프로그램 별 별칭이다. 이 플래그는 응용프로그램에 정의된 소리 별칭을 명시하기 위해 SND_ALIAS 또는 SND_ALIAS_ID 플래그와 결합해서 사용할 수 있다.

 SND_ALIAS

 pszSound 매개 변수는 레지스트리 또는 WIN.INI 파일에 있는 시스템 이벤트 별칭이다. SND_FILENAME 또는 SND_RESOURCE 와 함께 사용하지 말라.

 SND_ALIAS_ID

 pszSound 매개 변수는 시스템 이벤트 별칭을 위해 미리 정의된 식별자이다. 아래 주의를 보라.

 SND_ASYNC

 소리는 비동기적으로 재생되고 소리 시작 이후 PlaySound 는 즉시 반환된다. 비동기 적으로 재생되는 wave 형식의 소리를 중지시키려면, pszSound 를 NULL 로 설정하여 PlaySound 를 호출하라.

 SND_FILENAME

 pszSound 매개 변수는 파일 이름이다. 파일을 찾을 수 없다면, SND_NODEFAULT 플래그가 설정되어 있지 않는한 기본 소리를 재생한다.

 SND_LOOP

 pszSound 를 NULL 로 설정하여 PlaySound 를 다시 호출되기 전까지 소리를 반복 재생한다. 이 플래그와 함께 SND_ASYNC 플래그를 설정해야 한다.

 SND_MEMORY

 pszSound 매개 변수는 메모리에 읽혀진 소리를 가리킨다. 자세한 정보는 Playing WAVE Resources 를 보라.

 SND_NODEFAULT

 기본 소리 이벤트를 사용하지 않는다. 소리를 찾을 수 없으면, PlaySound 는 기본 소리 재생없이 조용히 반환한다.

 SND_NOSTOP

 명시된 소리 이벤트는 동일한 프로세스에서 이미 재생중인 다른 소리 이벤트에게 양보한다. 소리를 발생시키는데 필요한 자원이 다른 소리를 재생하는데 사용되어 소리를 재생할 수 없다면, 이 함수는 요청된 소리를 재생하지않고 즉시 FALSE 를 반환한다


 이 플래그가 설정되지 않으면, PlaySound 는 같은 프로세스에서 현재 재생중인 소리를 중지하려한다. 다른 프로세스의 소리 재생에는 영향을 미치지 않는다.

 SND_NOWAIT

 지원되지 않음.


 주석 이전 버전의 문서에서는 이 플래그가 지원된다고 잘못 명시되었다. 이 함수는 이 플래그를 무시한다.

 SND_PURGE

 지원되지 않음.

 SND_RESOURCE

 pszSound 매개 변수는 리소스 식별자이다; hmod 는 리소스를 포함하는 인스턴스를 명시해야한다. 자세한 정보를 Playing WAVE Resources 를 보라.

 SND_SENTRY

 주석 Windows Vista 또는 그 이상이 필요하다.


 이 플래그가 설정되있으면, 함수는 소리가 재생될 때 SoundSentry 이벤트를 발생시킨다.


 SoundSentry 는 소리가 재생될 때 컴퓨터가 시각적 신호를 표시하는 접근성 기능이다. 사용자가 SoundSentry 를 활성화하지 않았다면, 시각적 신호는 표시되지 않는다.

 SND_SYNC

 소리가 동기적으로 재생되고, PlaySound 는 소리 이벤트 완료 이후 반환된다. 기본 동작이다.

 SND_SYSTEM

 주석 Windows Vista 또는 그 이상이 필요하다.


 이 플래그가 설정되면, 소리는 시스템 알림 소리를 위한 오디오 세션에 할당된다. 시스템 음량제어 프로그램 (SndVol) 은 시스템 알림 소리를 제어하는 음량 슬라이더를 표시한다. 이 플래그를 설정하는 것은 소리를 이 음량 슬라이더 아래에 놓는다.


 이 플래그가 설정되지 않으면, 소리는 응용프로그램의 처리를 위한 기본 오디오 세션에 할당된다.


 자세한 정보는 Core Audio APIs 문서를 보라.


반환 값


성공하면 TRUE 를 그외는 FALSE 를 반환한다.


주의


pszSound 에 명시된 소리는 사용 물리 메모리에 맞아야 하고 설치된 wave 형식 오디오 장치 드라이버에서 재생가능해야한다.


PlaySound 는 소리 파일을 위해 다름 경로를 검색한다; 현재 디렉토리; Windows 디렉토리; Windows 시스템 디렉토리; 환경 변수 PATH 에 나열된 디렉토리들; 그리고 네트워크에 매핑된 디렉토리 목록. 명시된 소리를 찾지 못하고 SND_NODEFAULT 플래그가 명시되지 않았다면, PlaySound 는 기본 시스템 이벤트 소리를 대신 사용한다. 시스템 기본 엔트리와 기본 소리를 찾을 수 없으면, 아무 소리도 재생하지 않고 FALSE 를 반환한다.


fdwSound 에 SND_ALIAS_ID 플래그가 명시되있다면, pszSound 매개 변수는 다음 값 중 하나여야 한다.


 값

 설명

 SND_ALIAS_SYSTEMASTERISK

 "SystemAsterisk" 이벤트.

 SND_ALIAS_SYSTEMDEFAULT

 "SystemDefault" 이벤트.

 SND_ALIAS_SYSTEMEXCLAMATION

 "SystemExclamation" 이벤트.

 SND_ALIAS_SYSTEMEXIT

 "SystemExit" 이벤트.

 SND_ALIAS_SYSTEMHAND

 "SystemHand" 이벤트.

 SND_ALIAS_SYSTEMQUESTION

 "SystemQuestion" 이벤트.

 SND_ALIAS_SYSTEMSTART

 "SystemStart" 이벤트.

 SND_ALIAS_SYSTEMWELCOME

 "SystemWelcome" 이벤트.


SND_ASYNC 플래그는 PlaySound 가 소리 재생 완료를 기다리지 않고 즉시 반환하게 한다. SND_MEMORY 와 SND_ASYNC 를 결합하여 사용할 경우, 소리를 담고있는 메모리 버퍼는 소리 재생이 완료될때까지 유효해야한다.


예제


다음 예제는 소리 파일을 재생한다:


C++


PlaySound(TEXT("recycle.wav"), NULL, SND_FILENAME);


다음 예제는 소리파일 리소스를 재생한다:


C++


PlaySound(

    MAKEINTRESOURCE(IDR_WAVE1),

    GetModuleHandle(NULL),

    SND_RESOURCE);


다음 예제는 시스템 이벤트 소리를 재생한다:


C++


PlaySound(TEXT("SystemStart"), NULL, SND_ALIAS);


다음 예제는 이전 예제와 동일하나, 시스템 이벤트 식별자를 사용한다:


C++


PlaySound((LPCTSTR)SND_ALIAS_SYSTEMSTART, NULL, SND_ALIAS_ID);


다음 예제는 레지스트리에 있는 응용프로그램 정의된 소리를 재생한다:


C++


PlaySound(TEXT("MyAppSound"), NULL, SND_ALIAS | SND_APPLICATION);


다음 예제는 비동기 재생중인 소리를 중지시킨다:


C++


PlaySound(NULL, 0, 0);



요구사항


 클라이언트 최소 사양

 Windows 2000 Professional [데스크탑 앱 전용]

 서버 최소 사양

 Windows 2000 Server [데스크탑 앱 전용]

 Header

 Mmsystem.h (include Windows.h)

 Library

 Winmm.lib

 DLL

 Winmm.dll

 유니코드와 ANSI 명칭

 PlaySoundW (유니코드) and PlaySoundA (ANSI)


그 외 볼것


Waveform Audio

Waveform Functions



uses

  Winapi.ImageHlp, Winapi.Windows;


function GetDLLExports(const AFileName: AnsiString; AList: TStrings): Boolean;

var

  Image: LoadedImage;

  pExport: PImageExportDirectory;

  pNames: PDWORD;

  Dummy: DWORD;

  I: DWORD;

begin

  Result := MapAndLoad(PAnsiChar(AFileName), nil, @Image, True, True);

  if Result then begin

    try

      pExport := ImageDirectoryEntryToData(Image.MappedAddress, False, IMAGE_DIRECTORY_ENTRY_EXPORT, ULONG(Dummy));

      if pExport <> nil then begin

        pNames := ImageRvaToVa(Image.FileHeader, Image.MappedAddress, pExport^.AddressOfNames, Pointer(Dummy));

        for I := 0 to Pred(pExport^.NumberOfNames) do begin

          AList.Add(String(PAnsiChar(ImageRvaToVa(Image.FileHeader, Image.MappedAddress, pNames^, Pointer(Dummy)))));

          Inc(pNames);

        end;

      end else begin

        Result := False;

      end;

    finally

      UnMapAndLoad(@Image);

    end;

  end;

end;



게시판 첫 페이지부터 마지막 페이지까지 조회하여 검색합니다.

닉네임 검색만 됨.

검색된 게시물 더블클릭하면 기본 브라우저로 열립니다.

RSS 란걸 제공하는 줄 모르고 걍 HTML 로 처리함. ㅋ


로그인해야만 보이는 게시판만 로그인이 필요하므로 로그인 안해도 되요.

같이 동봉된 dll 파일도 로그인 할때만 필요합니다.


한달전 검색 막혔을때 만들다가 검색도 풀리고 시간도 없어서 여기까지만 함.

지금도 여유가 있진 않은 상태이니 추이를 보다가 기능을 더 추가하던지 할 계획입니다.


파일이름 뒤에 Src 붙은건 소스코드입니다.




20150917_PPSearch.zip


20150917_PPSearchSrc.zip


문자열이 화면에 표시될때의 가로폭은 TCanvas.TextWidth 를 이용하여 확인된다.


1. 문자열이 원하는 길이보다 크면 문자열 뒤에 말줄임표 추가

2. 문자열이 원하는 길이보다 길지 않을 때까지, 말줄임표 앞 1글자를 삭제

3. 말줄임표 앞 1글자가 2바이트 문자의 앞(Lead) 문자일 경우 삭제


AnsiString __fastcall TextEllipsis(TCanvas *C, AnsiString V, int W, const AnsiString &P = "...")

{

for (C->TextWidth(V) > W? V += P: V; V.Length() > 0 && C->TextWidth(V) > W; V.Delete(V.Length() - P.Length(), 1));

if (ByteType(V, V.Length() - P.Length()) == mbLeadByte) {

V.Delete(V.Length() - P.Length(), 1);

}

return V;

}


'Windows > RAD Studio' 카테고리의 다른 글

DLL Export 함수 목록 가져오기  (0) 2015.10.07
[CB] Ole - InternetExplorer 띄우기  (0) 2015.09.17
프로세스 종료  (0) 2015.09.08
DLL 기본 주석 문구 해석  (0) 2015.05.13
[Del] TListBox HorizontalScrollBar 표시  (0) 2015.05.06

신기하지만 위험을 감수하며 쓸 필요없는 방법.


char (&ArrayReturnFunc(int AValue))[10]

{

static __thread char result[10];

memset(result, 0, 10);

std::snprintf(result, 10, "Test %d", AValue);

return result;

}


+ Recent posts