
Video Resolution º¯È
Áú¹®>>
Àú´Â ºñµð¿À ÇØ»óµµ¸¦ ¹Ù²Ù°í ½Í½À´Ï´Ù. ±×·±´ÙÀ½ ½ºÅ©¸°(ÀÌÀüÀÇ ³»¿ëÀ» Æ÷ÇÔÇÑ)À» ´Ù½Ã º¹¿øÇϰí
½Í½À´Ï´Ù. ÁÁÀº »ý°¢ÀÌ ÀÖÀ¸¸é °¡¸£ÃÄÁֽʽÿÀ.
´äº¯>>
ChangeDisplaySettingsÀ» ¸ÕÀú Ã¼Å©ÇØ º¸°í EnumDisplaySettings ÇÔ¼öµéÀ» Ã¼Å©ÇØ º¸½Ê½Ã¿À.
À̰͵éÀº »õ·Î¿î Win32 ÇÔ¼öµéÀÔ´Ï´Ù. ÀçºÎÆÃÇÏÁö ¾Ê°í¼´Â ÆÈ·¹Æ®ÀÇ ±íÀ̸¦ º¯È½Ãų ¼ö ¾ø½À´Ï´Ù.
ÇÏÁö¸¸ ÀÌ ÇÔ¼öµéÀº ½ÇÇàÁß¿¡ ½ºÅ©¸°ÀÇ ÇØ»óµµ¸¦ ¹Ù²Ü ¼ö ÀÖ°Ô ²û µµ¿ÍÁÝ´Ï´Ù. ±³È¯°¡´ÉÀûÀ¸·Î,
DirectDrawµµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº ¿ÏÀüÇÑ ½ºÅ©¸° ÄÜÆ®·ÑÀ» °¡´ÉÇÏ°Ô ÇØ ÁÝ´Ï´Ù.
exclusive ¸ðµå¿¡¼´Â ´Ù¸¥ ¾ÖÇø®ÄÉÀ̼ǰú ÇÔ²² ½ºÅ©¸°À» °øÀ¯ÇÏÁö¾Ê°í¼µµ ¹«¾ùÀ̵ç ÇÒ ¼ö
ÀÖ½À´Ï´Ù.
Application Handle
Áú¹®>>
BCB¿¡¼ ¾ÖÇø®ÄÉÀÌ¼Ç ÇÚµéÀ» ¾î¶»°Ô ÇÏÁÒ?
´äº¯>>
TFormÀ¸·ÎºÎÅÍ À¯µµµÈ ¾î¶² Ŭ·¡¿¡¼µç ´ÙÀ½°ú °°ÀÌ ÇϸéµÈ´Ù.
HINSTANCE hInst = reinterpret_cast<HINSTANCE>(GetWindowLong(Handle, GWL_HINSTANCE);
¿©±â¼ HandleÀ̶õ ¿©·¯ºÐÀÇ À©µµ¿ì ÇÚµéÀ» ¸»ÇÑ´Ù.
Send Message
Áú¹®>>
SendMessage¶ó ºÒ¸®¿ì´Â ¸â¹ö ÇÔ¼ö¸¦ °¡Áö°í ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇÏ´Â ¼Ò½º·Î ÀÛ¼ºÁßÀÔ´Ï´Ù. ÇÏÁö¸¸,
µûºÐÇÑ ¸µÄ¿ ¿¡·¯°¡ ÀÚ²Ù »ý¼ºµË´Ï´Ù. ¿Ö ±×·¸ÁÒ?
´äº¯>>
¸¸¾à¿¡ win32/winuser.h¸¦ Á¶»çÇØ º»´Ù¸é ´ÙÀ½ÀÇ »ç½ÇµéÀ» º¼ °ÍÀÔ´Ï´Ù.:
À̰ÍÀº ¿©·¯ºÐÀÇ ¸Þ½îµé¸¦ È£ÃâÇØ¼ ¹«¾ùÀΰ¡ º¯È½ÃŰ´Â °ÍÀÔ´Ï´Ù.
¾Æ¸¶µµ ´ÙÀ½ÀÇ °ÍÀ» ½ÇÇàÇÏ´Â Çì´õ¸¦ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.
(a) #undef SendMessage
(b) provides function wrappers which convert the WINAPI
SendMessage(HWND, UINT, WPARAM, LPARAM) to either
SendMessageW ³ª SendMessageA, depending on whether or not
UNICODE is defined.
C++Builder WinExec()¿Í CreateProcess()
Áú¹®>>
Àú´Â Á¦ Äڵ带¡¡ Win32·Î ¹Ù²Ù¾ú°í WinExec()¸¦ CreateProcess()·Î ¹Ù²Ù¾ú½À´Ï´Ù. ±×·±µ¥ ¹®Á¦°¡
»ý°å½À´Ï´Ù. ±×·¸°Ô ÇÏ´Â °ÍÀº ±²ÀåÈ÷ ¸¹Àº ¼Â¾÷ÀÌ ÇÊ¿äÇѵ¥ ¿¹Á¦¸¦ Á¦°øÇØ ÁÖ½Ç ¼ö ÀÖ°Ú½À´Ï±î?
´äº¯>>
void CreateChildProcessAndWaitUntilDone(const AnsiString& strCmdLine)
{
PROCESS_INFORMATION¡¡¡¡¡¡¡¡ piProcInfo;
STARTUPINFO¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡siStartInfo;
¡¡
//¡¡ STARTUPINFO structureÀÇ ¸â¹ö¸¦ ¼³Á¤ÇÑ´Ù.
siStartInfo.cb¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ = sizeof(STARTUPINFO);
siStartInfo.lpReserved = NULL;
siStartInfo.lpReserved2 = NULL;
siStartInfo.cbReserved2 = 0;
siStartInfo.lpDesktop = NULL;
siStartInfo.dwFlags = 0;
// child process¸¦ »ý¼ºÇÑ´Ù.
CreateProcess(
strCmdLine.c_str(),
NULL,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // º¸¾È ¼Ó¼ºÀ» ó¸®ÇÑ´Ù.
NULL,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ÁÖ ¾²·¹µå º¸¾È ¼Ó¼º
0,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // handles Àº »ó¼ÓÀ» ¹Þ´Â´Ù.
0,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // »ý¼º flags
NULL,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ºÎ¸ðÀÇ È¯°æÀ» »ç¿ëÇÑ´Ù.
NULL,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // ºÎ¸ðÀÇ ÇöÀç µð·ºÅ丮¸¦ »ç¿ëÇÑ´Ù.
&siStartInfo,¡¡¡¡ // STARTUPINFO Æ÷ÀÎÅÍ
&piProcInfo);¡¡¡¡ // PROCESS_INFORMATION À» ¹Þ´Â´Ù.
// ³¡³¯ ¶§±îÁö ÇÁ·Î¼¼½ºµéÀ» ±â´Ù¸°´Ù.
DWORD rc = WaitForSingleObject( piProcInfo.hProcess, // ÇÚµéÀ» ÇÁ·Î¼¼½ºÇÑ´Ù.
}
COM Ports °ËÃâ
Áú¹®>>
¾î¶»°Ô Çϸé Á¦°¡ COMÆ÷Æ®¸¦ »ç¿ëÇϱâ ÀÌÀü¿¡ ´Ù¸¥ À©µµ¿ì ¾îÇø®ÄÉÀ̼ÇÀÌ »ç¿ëÁßÀÎÁö
¾Æ´ÑÁö¸¦ ¾Ë ¼ö ÀÖ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ·Á¸é ¾î¶»°Ô ÇÏ¸é µË´Ï±î? Àú´Â »ç¿ëµÇÁö ¾Ê´Â COM
Æ÷Æ®¸¦ Ã¼Å©ÇØ¼ À¯Àú¿¡°Ô ¾Ë·ÁÁÖ´Â DLLÀ» ÀÛ¼ºÇϰíÀÚ ÇÕ´Ï´Ù.
´äº¯>>
comm port°¡ ¿·Á ÀÖ´Â Áö ¾Æ´ÑÁö¸¦ È®ÀÎÇÏ´Â Á¦ÀÏ ÁÁÀº ¹æ¹ýÀº ´Ù½Ã ±×°ÍÀ» ¿ÀÇÂÇÏ´Â
¹æ¹ýÀÔ´Ï´Ù. ¸ÕÀú OpenComm(lpCommName, wInQueue, wOutQueue)À» »ç¿ëÇϽʽÿÀ.
¸¸¾à¿¡ ±×°ÍÀÌ Á¦´ë·Î ¾ÈµÈ´Ù¸é, ±× comm Àº ¾Æ¸¶µµ »ç¿ëÁßÀÎ Æ÷Æ®°¡ µÉ °ÍÀÔ´Ï´Ù. ¸¸¾à¿¡
¼º°øÇÑ´Ù¸é, À¯Àú¿¡°Ô ±× »ç½ÇÀ» ¾Ë·ÁÁÖ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ±×¸®°í ¸¸¾à¿¡
À¯Àú°¡ ±×°ÍÀ» ¿øÇÏÁö ¾Ê´Â´Ù¸é, CloseComm(Cid) À» »ç¿ëÇÏ¿© ´ÝÀ» ¼öµµ ÀÖ½À´Ï´Ù.
Win3.1¿¡¼ ¸¸¾à 0¿¡¼ number_of_present_ports - 1±îÁö °ªÀ» ¹ÝȯÇÑ´Ù¸é, »ç¿ëÇÏ´Â µ¥´Â
¾Æ¹«·± ¹®Á¦°¡ ¾ø½À´Ï´Ù. OpenComm ÇÔ¼ö°¡ ¹ÝȯÇÏ´Â °ªÀÌ À½¼ö¶ó´Â Àǹ̴ ¸î¸î ¿¡·¯°¡
°ËÃâµÇ¾ú´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. GetCommError ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ¿¡·¯ Á¤º¸¸¦ ¾ò±â À§Çؼ´Â,
Win 3.1 API (SDK)ÀÇ µµ¿ò¸»¿¡ ÀÚ¼¼È÷ ³ª¿ÍÀÖ½À´Ï´Ù. (À̰ÍÀº ¸ðµç comm ÇÔ¼öµéÀÌ Ç¥ÁØ API¿¡
ÀÖÀ¸¸ç Åë½ÅÇϱâ À§Çؼ´Â ÀåÄ¡ÀÇ ID°¡ ÇÊ¿äÇϱ⠶§¹®ÀÔ´Ï´Ù. OpenComm ...)
Windows 95, ³ª NT¿¡¼ comm ports´Â ÆÄÀϷμ °£Áֵ˴ϴÙ. ±×¸®°í "COMx"
parameter(Windows 95)¿Í ÇÔ²² CreateFile ÇÔ¼ö¸¦ È£ÃâÇØ¾ß ÇÕ´Ï´Ù. NT¿¡¼´Â "\.\\COMx"
. CreateFile ÇÔ¼ö´Â Ç×»ó file handle À̳ª 0xFF....F¸¦ Çã¿ëÇÏÁö ¾Ê´Â file handle·Î È£ÃâÇÕ´Ï´Ù.
f-sÀÇ °ÍÀ» ¸ðµÎ ¹Þ¾ÒÀ» ¶§´Â ( -1À» ÀǹÌÇÑ´Ù), ÇÔ¼ö GetLastError¸¦ È£ÃâÇϰí, ¿¡·¯ ¹øÈ£¸¦
¹Þ½À´Ï´Ù. 5 ´Â ÆÄÀÏÀÌ ÀÌ¹Ì ¿·Á ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ¿°íÀÚÇÏ´Â Æ÷Æ®¸¦ ´Ù¸¥
¾ÖÇø®ÄÉÀ̼ÇÀÌ Àâ°í ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.
ÇÁ¸°ÅÍ ÀÎ¼â¹æÇâ µ¿Àû ¼³Á¤
Áú¹®>>
Á¦ ÇÁ·Î±×·¥¿¡¼ ±âº» ÇÁ¸°Å͸¦ µ¿ÀûÀ¸·Î "Landscape"³ª "Portrait"·Î ¼³Á¤ÇÏ°í ½Í½À´Ï´Ù.
(Printer Setup Dialog¿¡¼ ¼öÀÛ¾÷À¸·Î ¼³Á¤ÇÏ´Â °Í ¸»°í). À̰ÍÀÌ °¡´ÉÇѰ¡¿ä? Àú´Â À̰Ϳ¡
´ëÇÑ APIÇÔ¼ö¸¦ ãÀ» ¼ö ¾ø´øµ¥¿ä.
´äº¯>>
32 bit À©µµ¿ìÇÏ¿¡¼ ¿©·¯ºÐÀº:
- ÇÁ¸°ÅÍÀÇ ÇÚµéÀ» ¾ò±â À§ÇØ OpenPrinter¸¦ »ç¿ëÇÑ´Ù.
- ÇÁ¸°ÅÍ¿¡´ëÇÑ DEVMODE¸¦ ¾ò±â À§ÇØ DocumentProperties()¸¦ È£ÃâÇÕ´Ï´Ù.
- DEVMODE ±¸Á¶ÀÇ dmOrintation Çʵ带 ¼³Á¤ÇÕ´Ï´Ù
- ÇÁ¸°ÅÍÀÇ DEVMODE¸¦ ¼³Á¤Çϱâ À§ÇØ DocumentProperties()¸¦ È£ÃâÇÕ´Ï´Ù..
- ´Ü°è 4°¡Áö ¹ÝȯµÈ DEVMODE·ÎºÎÅÍ DC¸¦ »ý¼ºÇÕ´Ï´Ù.
- ÇÁ¸°ÆÃÇϱâ À§ÇØ DC¸¦ »ç¿ëÇÕ´Ï´Ù.
|