.


:




:

































 

 

 

 


7. Win32 dll-




DLL- (dynamic-link libraries) DLL, Borland C++ Builder Windows 98, 2000 XP NT.

 

, . .

ANSI DLL-, ( ).

RTF- DLL-, DLL ( ).

 

7:

:

1. Borland C++ Builder. DLL, File|New. New DLL. D:/VMSS/U41(U42)/<user_s>, File|Save Project As. , <user_s> .

2. , File|New Unit. D:/VMSS/U41(U42)/<unit_s>, File|Save As. <unit_s> .

3. <unit_s> ANSI. .

 

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "MainLab2s.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

//---------------------------------------------------------------------------

extern "C" __declspec(dllexport) void ConvertTxt(char *buf)

// ANSI

{

//

OemToChar(buf,buf);

}

 

4. <unit_s>.h . .

//---------------------------------------------------------------------------

#ifndef MainLab2sH

#define MainLab2sH

//---------------------------------------------------------------------------

extern "C" __declspec(dllexport) void ConvertTxt(char *buf);

#endif

5. Project|Options Advanced Compiler Calling Convention Standart Call.

6. . - <user_s>.dll (DLL-) <user_s>.lib (, DLL).

7. .

8. " ANSI" API ANSI- DLL-. .

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

// ANSI

{

char *txt;

txt = new char [RichEdit1->Lines->Text.Length()];

//

strcpy(txt,RichEdit1->Lines->Text.c_str());

//

// DLL

ConvertTxt(txt);

// MEMO

RichEdit1->Lines->Text=(AnsiString)txt;

delete txt;

}

//---------------------------------------------------------------------------

9. <unit>.hpp . .

//---------------------------------------------------------------------------

// DLL

extern "C" __declspec(dllimport) void ConvertTxt(char *buf);

10. LIB- DLL-. Project|Add to Project Add to Project. Library file (*.lib). <user_s>.lib "".

11. . .

12. DLL- :

DLL-;

Run Parameters. Host application Browse -, DLL. Run Parameters DLL (ConvertTxt);

ConvertTxt();

Run. -, " ANSI" DLL ;

DLL- , -.

13. DLL, File|New. New DLL. D:/VMSS/U41(U42)/<user_d>, File|Project As. , <user_d> .

14. , File|New Unit. D:/VMSS/U41(U42)/<unit_d>, File|Save As. <unit_d> .

15. <unit_d> RTF-. 123.rtf. . .

//---------------------------------------------------------------------------

extern "C" __declspec(dllexport) int SearchConRTF(void)

// RTF

{

char *ptr, *buf, str[64], FileName[16]="123.rtf";

int count=0, handle;

handle = open(FileName, O_BINARY|O_RDWR);

if(handle == -1)

return -1;

buf = new char [2*filelength(handle)];

memset(buf, 0, 2*filelength(handle));

read(handle, str, 64);

read(handle, buf, filelength(handle)-64);

close(handle);

ptr=strstr(buf,str);

//

while(ptr!= NULL)

{

count++; //

RtfIns((int)(ptr-buf),buf,TXTCOLOR); //

RtfIns((int)(ptr-buf)+strlen(str)+sizeof(TXTCOLOR)-1,buf,TXTNOCOLOR); //

ptr=ptr+strlen(str)+sizeof(TXTCOLOR)+sizeof(TXTNOCOLOR); //

ptr=strstr(ptr,str);

}

//

ptr=strstr(buf,TXTCR);

while(ptr!= NULL)

{//

RtfDel((int)(ptr-buf),buf,sizeof(TXTCR));

RtfIns((int)(ptr-buf),buf,TXTPAR);

ptr=strstr(buf,TXTCR);

}

RtfIns(0,buf,TXTSTART); // RTF

RtfIns(sizeof(TXTSTART)-1,buf,TXTNOCOLOR); //

strcat(buf,TXTEND); // RTF

strcat(buf,"\0\0\0"); //

handle = open(FileName, O_CREAT|O_TRUNC|O_BINARY|O_RDWR);

if(handle == -1)

return -1;

write(handle, buf, strlen(buf));

close(handle);

delete buf;

return count;

}

 

16. RtfIns(),RtfDel() - DLL-. RTF- - DLL-.

17. <unit_d>.h . .

//---------------------------------------------------------------------------

#ifndef MainLab2dH

#define MainLab2dH

#include <string.h>

#include <stdio.h>

#include <fcntl.h>

#include <io.h>

// RTF

#define TXTCOLOR "\\plain\\fs20\\cf1 " //

#define TXTNOCOLOR "\\plain\\fs20 " //

#define TXTSTART "{\\rtf1\\ansi\\deff0\\deftab720{\\fonttbl{\\f0\\fmodern Courier}}\r\n{\\colortbl\\red0\\green0\\blue0;\\red255\\green0\\blue0;}\r\n"

//

#define TXTEND "}\\par" //

#define TXTPAR "\\par " //

#define TXTCR "\r\n" //

//---------------------------------------------------------------------------

extern "C" __declspec(dllexport) int SearchConRTF(void);

void __fastcall RtfDel(int n, char *txtbuf, int size);

void __fastcall RtfIns(int n, char *txtbuf, char *str);

#endif

18. Project|Options Advanced Compiler Calling Convention Standart Call.

19. . - <user_d>.dll (DLL-) <user_d>.lib (, DLL).

20. -. RtfIns(),RtfDel() RTF-.

21. "" DLL-. .

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

// RTF

{

char *buf;

char str[64];

int count=0;

char FileName[16]="123.rtf";

int handle;

typedef int (__fastcall *DLLPROC)(void);

HANDLE hLib;

buf = new char [2*RichEdit1->Lines->Text.Length()];

memset(buf, 0, 2*RichEdit1->Lines->Text.Length()- 1);

//

strcpy(buf,RichEdit1->Lines->Text.c_str());

strcpy(str,Edit1->Text.c_str()); //

//

handle = open(FileName, O_CREAT|O_TRUNC|O_BINARY|O_RDWR);

if(handle!= -1)

{

write(handle, str, 64);

write(handle, buf, strlen(buf));

}

close(handle);

hLib=GetModuleHandle(DLL_LAB2); //

if(hLib==NULL)

hLib=LoadLibrary(DLL_LAB2);// DLL

DLLPROC DinProc=(DLLPROC)GetProcAddress(hLib,"SearchConRTF");

if (DinProc!= NULL)

count=DinProc();// DLL

(void)FreeLibrary(hLib);

Edit2->Text=IntToStr(count); //

RichEdit1->Lines->LoadFromFile(FileName);

//

delete buf;

}

//---------------------------------------------------------------------------

22. <unit>.hpp DLL-. .

#define DLL_LAB2 "Lab2d.dll" //

23. . .

24. DLL- .12.

 

:

 

1. DLL- .

2. - DLL-?

3. DLL- - .

4. DLL- - Clipboard [3].

5. Ansi , .

6. ( ).

:

:

;

;

DLL- ;

;

DLL-;

.

. . , , .

 


8 8. ACTIVEX/OCX

ActiveX ActiveX .

 

, - 8- . 512 .

 

ChartFX

ChartFX ActiveX.

Properties , . , ChartFX :

;

;

;

, (, , , , ..);

.

ChartFX Ctrl+F1 ( :\\Borland\Cbuilder5\OCX\CHARTFX\cfx2ocx.hlp).

 

8

:

7. Borland C++ Builder. , File|New Application. D:/VMSS/U41(U42)/<user>, File| Save Project As. <user>, .

8. . 8.1. . .

 

8.1 -

9. ChartFX. . :

 

//

Chartfx1->PointType=0;

Chartfx2->PointType=0;

Chartfx1->OpenDataEx(COD_VALUES,1,512);

Chartfx1->ThisSerie = 0;

for(i=0;i<512;i++)

Chartfx1->Value[i]=0.00;

Chartfx1->CloseData(COD_VALUES);

Chartfx1->Adm[CSA_MAX]=1;

Chartfx1->Adm[CSA_MIN]=-1;

Chartfx2->OpenDataEx(COD_VALUES,1,256);

Chartfx2->ThisSerie = 0;

for(i=0;i<256;i++)

Chartfx2->Value[i]=10;

Chartfx2->CloseData(COD_VALUES);

Chartfx2->Adm[CSA_MAX]=12;

 

10. :

char data[64000]; //

unsigned long byteRead;// ( )

int Sm;//

float data_adc[512]; //

float data_sp[256]; //

float data_sp2; // max

11. . . OpenDialog. Filter FilterIndex . . Execute . ʻ data. :

//

if(OpenDialog1->Execute()==true)

{ //

// Win32

HANDLE in=CreateFile(OpenDialog1->FileName.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE, NULL);

if(in == INVALID_HANDLE_VALUE) return;

memset(data, 0, 64000 - 1);

//

if(!ReadFile(in, (void*)&data, 64000l, &byteRead,NULL))

{ // :

CloseHandle(in); return;

}

CloseHandle(in);

}

12. .

13. . .

//*********************************************

//

//*********************************************

void __fastcall TForm1::fourea(float *data_r,float *data_i,int n,int is)

{

int i,i1,j,j1,istep;

int m,mmax;

float r,r1,theta,w_r,w_i,temp_r,temp_i;

r=M_PI*is;

j=1;

for(i=1;i<=n;i++)

{

i1=i-1;

if(i<j)

{

j1=j-1;

temp_r=*(data_r+j1);

temp_i=*(data_i+j1);

*(data_r+j1)=*(data_r+i1);

*(data_i+j1)=*(data_i+i1);

*(data_r+i1)=temp_r;

*(data_i+i1)=temp_i;

}

m=n>>1;

while(j>m)

{

j-=m;

m=(m+1)>>1;

}

j+=m;

}

mmax=1;

while(mmax<n)

{

istep=mmax<<1;

r1=r/(float)mmax;

for(m=1;m<=mmax;m++)

{

theta=r1*(m-1);

w_r=(float)cos((double)theta);

w_i=(float)sin((double)theta);

for(i=m-1;i<n;i+=istep)

{

j=i+mmax;

temp_r=w_r* *(data_r+j) - w_i* *(data_i+j);

temp_i=w_r* *(data_i+j) + *(data_r+j)*w_i;

*(data_r+j)=*(data_r+i) - temp_r;

*(data_i+j)=*(data_i+i) - temp_i;

*(data_r+i) += temp_r;

*(data_i+i) += temp_i;

}

}

mmax=istep;

}

if(is>0)

for(i=0;i<n;i++)

{

*(data_r+i) /= (float)n;;

*(data_i+i) /= (float)n;;

}

}

//--------------------------------------------------------------

 

 

14. , . data SM. .

 

//--------------------------------------------------------------

void __fastcall TForm1::OutData(int start)

// start

{

int i,j;

float d_r[512],d_i[512];

//

//

for(i=start,j=0;j<512;i++,j++)

{

data_adc[j]=(float)data[i]*(float)(2.5/256);

d_r[j]=data_adc[j]; // =

d_i[j]=0.0; // = 0

}

//

fourea(d_r,d_i,512,-1);

//

data_sp2=0.;

data_sp[0]=0;

for(i=1;i<256;i++)

{ //

data_sp[i]=d_r[i]*d_r[i]+d_i[i]*d_i[i];

if(data_sp2<data_sp[i])

data_sp2=data_sp[i]; // max

}

//

Chartfx1->OpenDataEx(COD_VALUES,1,512);

Chartfx1->ThisSerie = 0;

for(i=0;i<512;i++)

Chartfx1->Value[i]=data_adc[i];

Chartfx1->CloseData(COD_VALUES);

//

Chartfx2->OpenDataEx(COD_VALUES,1,256);

Chartfx2->ThisSerie = 0;

for(i=0;i<256;i++)

Chartfx2->Value[i]=(int)data_sp[i];

Chartfx2->CloseData(COD_VALUES);

//

Chartfx2->Adm[CSA_MAX]=(int)data_sp2+10;

Chartfx2->LeftGap=0;

}

15. . .

16. . >>.

17. . <<.

18. , .

19. .

20. . 8.2 .

 

8.2 -

 

:

1. .

2. .

3. ( 128).

4. , 20 .

5. .

6. .

7. ChartFX.

8. ( ).

9. .

10. ChartFX Graph ActiveX. .

:

:

;

;

;

;

.

. . , , .


 

WIN32 API

 

DWORD GetLogicalDrives(void)

32- , , , (0- - , 1- - B ..).

 

DWORD GetLogicalDriveStrings(dwBuffer, lpBuffer)
DWORD dwBuffer; //
LPTSTR lpBuffer; //

, . <null> . : "a:\\<null>", "c:\\<null>", "d:\\<null>"<null>.
, .

 

UINT GetDriveType(lpDiskName)
LPCTSTR lpDiskName; //

. unsigned int:

0 .
1 .
DRIVE_REMOVABLE .
DRIVE_FIXED .
DRIVE_REMOTE () .
DRIVE_CDROM (CD-ROM).
DRIVE_RAMDISK .

 

 

BOOL GetVolumeInformation(lpDiskName, lpVolumeNameBuffer, nVolumeNameSize, lpVolumeSerialNumber, lpMaximumComponentLength, lpFileSystemFlags, lpFileSystemNameBuffer, nFileSystemNameSize)
LPCTSTR lpDiskName;//
LPTSTR lpVolumeNameBuffer;//
DWORD nVolumeNameSize;//
LPDWORD lpVolumeSerialNumber;//
LPDWORD lpMaximumComponentLength;// ( )
LPDWORD lpFileSystemFlags;//
LPTSTR lpFileSystemNameBuffer;//
DWORD nFileSystemNameSize;//

true . , . , .

 

BOOL GetDiskFreeSpaceExA(lpDirectoryName, lpFreeBytesAvailableToCaller, lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes);

LPCTSTR lpDirectoryName, //

PULARGE_INTEGER lpFreeBytesAvailableToCaller,// ,

PULARGE_INTEGER lpTotalNumberOfBytes,//

PULARGE_INTEGER lpTotalNumberOfFreeBytes // .

. true.

 

DWORD GetCurrentDirectory(dwCurDir, lpCurDir)
DWORD dwCurDir;//
LPTSTR lpCurDir;//

, , " " ( ). .

 

DWORD GetFullPathName(lpFile, dwPath, lpPath, ppFilePart)
LPCTSTR lpFile;//
DWORD dwPath;//
LPTSTR lpPath;// ( )
LPTSTR *ppFilePart;//

. .

 

 

DWORD GetFileAttributes(lpFileName)
LPCTSTR lpFileName;//

32- .

 

DWORD GetFileSize(hFile, lpdwFileSizeHigh)
HANDLE hFile;//
LPDWORD lpdwFileSizeHigh;// (32)

. HANDLE, , CreateFile ( CloseHandle). (32 64), , , (32 ). 0xFFFFFFFF, NULL.

 

HANDLE FindFirstFile(lpSearchFile, lpffd)
LPCTSTR lpSearchFile; //
LPWIN32_FIND_DATA lpffd; //
typedef struct _WIN32_FIND_DATA {
DWORD dwFileAttributes; //
FILETIME ftCreationTime; //
FILETIME ftLastAccessTime; //
FILETIME ftLastWriteTime; //
DWORD nFileSizeHigh; //
DWORD nFileSizeLow; //
DWORD dwReserved0; //
DWORD dwReserved1; // - // -
TCHAR cFileName[MAX_PATH]; //
TCHAR cAlternateFileName[14]; // 8.3
} WIN32_FIND_DATA;

. . .

 

BOOL FindNextFile(hFindFile, lpffd)
HANDLE hFindFile; //
LPWIN32_FIND_DATA lpffd; //

FindFirstFile. (true/false). .

 

UINT GetWindowsDirectory(lpBuffer, uSize)

LPTSTR lpBuffer,// Windows

UINT uSize //

Windows.

 

UINT GetSystemDirectory(lpBuffer, uSize)

LPTSTR lpBuffer,//

UINT uSize //

.

 

DWORD GetTempPath(nBufferLength, lpBuffer)

DWORD nBufferLength,//

LPTSTR lpBuffer //

, .

 

BOOL GetFileTime(hFile, lpCreationTime, lpLastAccessTime, lpLastWriteTime)

HANDLE hFile,//

LPFILETIME lpCreationTime,// FILETIME,

LPFILETIME lpLastAccessTime,// FILETIME,

LPFILETIME lpLastWriteTime // FILETIME, .

, , , .

 

LONG CompareFileTime(lpFileTime1, lpFileTime2)

CONST FILETIME *lpFileTime1,// FILETIME, 64-

CONST FILETIME *lpFileTime2 // FILETIME, 64-

64- .

 

BOOL SetVolumeLabel(lpRootPathName, lpVolumeName)

LPCTSTR lpRootPathName,// ,

LPCTSTR lpVolumeName,// ,

.

 

BOOL SetFileTime(hFile, lpCreationTime,lpLastAccessTime, lpLastWriteTime)

HANDLE hFile,//

CONST FILETIME *lpCreationTime,// FILETIME,

CONST FILETIME *lpLastAccessTime,// FILETIME,

CONST FILETIME *lpLastWriteTime// FILETIME,

, , , .

 

BOOL SetLocalTime(lpSystemTime);

CONST SYSTEMTIME *lpSystemTime // SYSTEMTIME,

.

 

BOOL CreateDirectory(lpPath, lpsa)
LPCTSTR lpPath; //
LPSECURITY_ATTRIBUTES lpsa; //

. true .

 

BOOL RemoveDirectory(lpDir)
LPCTSTR lpDir; //

, .

 

BOOL SetCurrentDirectory(lpCurDir)
LPCTSTR lpCurDir; //

.

 

BOOL SetFileAttributes(lpFileName, dwFileAttributes)
LPCTSTR lpFileName; //
DWORD dwFileAttributes; // 32-

. :
FILE_ATTRIBUTE_ARCHIVE
FILE_ATTRIBUTE_DIRECTORY
FILE_ATTRIBUTE_HIDDEN
FILE_ATTRIBUTE_NORMAL ( )
FILE_ATTRIBUTE_READONLY
FILE_ATTRIBUTE_SYSTEM
FILE_ATTRIBUTE_TEMPORARY .

 

HANDLE CreateFile(lpName, fdwAccess, fdwShareMode, lpsa, fdwCreate, fdwAttrsAndFlags, hTemplateFile)
LPCTSTR lpName; //
DWORD fdwAccess; //
DWORD fdwShareMode; //
LPSECURITY_ATTRIBUTES lpsa; //
DWORD fdwCreate; //
DWORD fdwAttrsAndFlags; //
HANDLE hTemplateFile; //

. .

lpName ( ) :
"COM1", "COM2" ..
"LPT1", "LPT2" ..
"PRN"
"\\servername\pipe\pipename".
fdwAccess :
0 ( );
GENERIC_READ ;
GENERIC_WRITE .
dwShareMode :
0 ;
FILE_SHARE_READ ;
FILE_SHARE_WRITE .
fdwCreate :
CREATE_NEW , ;
CREATE_ALWAYS ;
OPEN_EXISTING , ;
OPEN_ALWAYS ;
TRUNCATE_EXISTING .
fdwAttrsAndFlags :
FILE_ATIBUTE_ARCHIVE ( ) ;
FILE_ATRIBUTE_HIDDEN ( );
FILE_ATRIBUTE_NORMAL ( );
FILE_ATRIBUTE_READONLY ;
FILE_ATRIBUTE_SYSTEM ( );
FILE_ATRIBUTE_COMPRESSED ;
FILE_ATRIBUTE_OFFLINE , ;
FILE_ATRIBUTE_TEMPORARY ( , ).

 

BOOL ReadFile(hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped)
HANDLE hFile; //
LPVOID lpBuffer; //
DWORD nNumberOfBytesToRead; // ,
LPDWORD lpNumberOfBytesRead; //
LPOVERLAPPED lpOverlapped; // Overlapped

CreateFile. true .

 

BOOL WriteFile(hFile, lpBuffer, nNumberOfBytesToWrite, lpNumberOfBytesWritten, lpOverlapped)
HANDLE hFile; //
LPCVOID lpBuffer; //
DWORD nNumberOfBytesToWrite; //
LPDWORD lpNumberOfBytesWritten; //
LPOVERLAPPED lpOverlapped; // Overlapped

CreateFile. true .

 

BOOL CopyFile(lpExistingFile, lpNewFile, fFailIfExists)
LPCTSTR lpExistingFile; //
LPCTSTR lpNewFile; //
BOOL fFailIfExists; // true - , (false - )

. true .

 

BOOL MoveFile(lpExisting, lpNew)
LPCTSTR lpExisting; //
LPCTSTR lpNew; //

/ . true .

 

BOOL DeleteFile(lpFileName)
LPCTSTR lpFileName; //

. true .

 

BOOL CloseHandle(hObject)
HANDLE hObject; //

CreateFile.

 

BOOL FindClose(hFindFile)
HANDLE hFindFile; //

FindFirstFile.

 

int GetKeyboardType(fnKeybInfo)
int fnKeybInfo; //

. : , . :
0 - ;
1 - ;
2 - .

 

BOOL GetKeyboardState(pbKeyState)
PBYTE pbKeyState; //

. 256 256 . , . "NumLock", "CapsLock" "ScrollLock" , , . true .

 

SHORT GetKeyState(nVirtKey)
int nVirtKey; //

GetKeyboardState, . , . "NumLock", "CapsLock" "ScrollLock" , .

 

SHORT GetAsyncKeyState(nVirtKey)
int nVirtKey; //

. , . , .

 

BOOL GetCursorPos(lpPoint)
LPPOINT lpPoint; // POINT

. true .

 

int GetSystemMetrics(nIndex)
int nIndex; //

. - Windows. Windows, , ..

 

UINT GetCaretBlinkTime(VOID)

(, ) .

 

BOOL SystemParametersInfo(wAction, wParam, lpvParam, fUpdateProfile)
UINT wAction; //
UINT wParam; //
PVOID lpvParam; //
UINT fUpdateProfile; //

.

:
SPI_GETBEEP BOOL .
wParam=0; lpvParam = BOOL;
SPI_SETBEEP BOOL .
wParam=BOOL; lpvParam=NULL;
SPI_GETBORDER .
wParam=0; lpvParam = int;
SPI_SETBORDER .
wParam=int; lpvParam=NULL;
SPI_GETFASTTASKSWITCH ./.
wParam=0; lpvParam = BOOL;
SPI_SETFASTTASKSWITCH ./.
wParam=BOOL; lpvParam=NULL;
SPI_GETGRIDGRANULARITY .
wParam=0; lpvParam = int;
SPI_SETGRIDGRANULARITY .
wParam=int; lpvParam=NULL;
SPI_GETKEYBOARDDELAY .
wParam=0; lpvParam = int;
SPI_SETKEYBOARDDELAY .
wParam=int; lpvParam=NULL;
SPI_GETKEYBOARDSPEED .
wParam=0; lpvParam = WORD;
SPI_SETKEYBOARDSPEED .
wParam=WORD; lpvParam=NULL;
SPI_GETMOUSE .
wParam=0; lpvParam = int, lpiMouse[0] - 1, lpiMouse[1] - 2, lpiMouse[2] - ;
SPI_SETMOUSE .
wParam=0; lpvParam = int, lpiMouse[0] - 1, lpiMouse[1] - 2, lpiMouse[2] - ;
SPI_GETSCREENSAVEACTIVE BOOL . wParam=0; lpvParam = BOOL;
SPI_SETSCREENSAVEACTIVE BOOL . wParam=BOOL; lpvParam=NULL;
SPI_GETSCREENSAVETIMEOUT . wParam=0; lpvParam = int;
SPI_SETSCREENSAVETIMEOUT wParam=int; lpvParam=NULL;
SPI_LANGDRIVER .
wParam=0; lpvParam = char ;
SPI_SETDESKWALLPAPER .
wParam=0; lpvParam = char ;
SPI_SETDOUBLECLICKTIME .
wParam=int; lpvParam=NULL;
SPI_SETDOUBLECLKHEIGHT . wParam=int; lpvParam=NULL;
SPI_SETDOUBLECLKWIDTH .
wParam=int; lpvParam=NULL;
SPI_SETMOUSEBUTTONSWAP .
wParam=BOOL; lpvParam=NULL;

 

BOOL SetKeyboardState(lpbKeyState)
LPBYTE lpbKeyState; // ,

. 256 256 . , . "NumLock", "CapsLock" "ScrollLock" , , . true .

 

int ShowCursor(bShow)
BOOL bShow; //

. - . , , . , n- false , n- true.

 

BOOL SwapMouseButton(fSwap)
BOOL fSwap; //

, . BOOL .

 

 

BOOL ClipCursor(lprc)
CONST RECT *lprc; // ,
typedef struct tagRECT {
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT;

. true .

 

BOOL SetCursorPos(X, Y)
int X; //
int Y; //

. true .

 

BOOL SetCaretBlinkTime(uMSeconds)

UINT uMSeconds// ,

.

 

DWORD GetSysColor(nIndex)
int nIndex; //

. .

 

int GetDeviceCaps(hdc, nIndex)
HDC hdc; // (device context)
int nIndex; //

. GetDC GetWindowDC.

 

BOOL EnumDisplaySettings(lpszDeviceName,iModeNum,lpDevMode)
LPCTSTR lpszDeviceName; // -
DWORD iModeNum; //
LPDEVMODE lpDevMode; // DEVMODE

, . true . , , , false.

 

COLORREF GetPixel(hdc,nXPos,nYPos)
HDC hdc; //
int nXPos; //
int nYPos; //

. GetDC GetWindowDC.

 

BOOL SetSysColors(cElements,lpaElements,lpaRgbValues)
int cElements; //
CONST INT *lpaElements; // , GetSysColor
CONST COLORREF *lpaRgbValues; //

.

 

LONG ChangeDisplaySettings(lpDevMode,dwflags)
LPDEVMODE lpDevMode;// DEVMODE
DWORD dwflags;// , ,

.

 

BOOL BitBlt(hdcDest,nXDest,nYDest,nWidth,nHeight,hdcSrc,nXSrc,nYSrc,dwRop)
HDC hdcDest;// - (device context)
int nXDest;// x
int nYDest;// y
int nWidth;//
int nHeight;//
HDC hdcSrc;// - (device context)
int nXSrc;// x
int nYSrc;// y
DWORD dwRop;//

. GetDC GetWindowDC. true . (-), false.

:
BLACKNESS , , 0 ( ).
DSTINVERT .
MERGECOPY "" .
MERGEPAINT "" .
NOTSRCCOPY .
NOTSRCERASE " " .
PATCOPY .
PATINVERT .
PATPAINT "", "" .
SRCAND "".
SRCCOPY .
SRCERASE "".
SRCINVERT .
SRCPAINT "".
WHITENESS , , 1 ( ).

 

WORD WINAPI CascadeWindows(hwndParent, wHow, lpRect, cKids, lpKids)

HWND hwndParent,//

UINT wHow, // ,

CONST RECT *lpRect,// ,

UINT cKids,//

const HWND FAR *lpKids//

() .

 

WORD WINAPI TileWindows(hwndParent, wHow, lpRect, cKids, lpKids)

HWND hwndParent, //

UINT wHow,// ,

CONST RECT *lpRect,// ,

UINT cKids,//

const HWND FAR *lpKids//

.

 

 

BOOL SetWindowPos(hWnd, hWndInsertAfter,X,Y,cx,cy, uFlags)

HWND hWnd,//

HWND hWndInsertAfter,//

int X,//

int Y,//

int cx,//

int cy,//

UINT uFlags //

, .

 

BOOL BringWindowToTop(hWnd)

HWND hWnd //

Z-. . .

 

COLORREF SetPixel(hdc,X,Y, crColor)

HDC hdc, //

int X, // x-

int Y, // y-

COLORREF crColor //

.

 

HWND SetActiveWindow(hWnd)

HWND hWnd //

.

 

HWND GetActiveWindow(VOID)

. .

 

HWND GetDesktopWindow(VOID)

Windows.

 

HDC GetDC(hWnd)
HWND hWnd; //

. GetActiveWindow GetDesktopWindow. ReleaseDC.

 

HDC GetWindowDC(hWnd)
HWND //

. GetActiveWindow GetDesktopWindow. ReleaseDC.

 

 

int ReleaseDC(hWnd,hDC)
HWND hWnd; //
HDC hDC; //

.

 

DWORD GetProfileString(lpAppName,lpKeyName,lpDefault,lpReturnedString,nSize)
LPCTSTR lpAppName; //
LPCTSTR lpKeyName; //
LPCTSTR lpDefault; //
LPTSTR lpReturnedString; //
DWORD nSize //

WIN.INI.
.
[] =
, . ( ).
WIN.INI .
[windows] device=<>,<>,<>

 

DWORD DeviceCapabilities(pDevice,pPort,fwCapability,pOutput,pDevMode)
LPCTSTR pDevice; //
LPCTSTR pPort; //
WORD fwCapability; //
LPTSTR pOutput; //
CONST DEVMODE *pDevMode; // DEVMODE

.

 

BOOL PrintDlg(lppd)
LPPRINTDLG lppd; // PRINTDLG

. true .

 

int StartDoc(hdc,lpdi)
HDC hdc; //
CONST DOCINFO *lpdi; // DOCINFO

. .

 

int EndDoc(hdc)
HDC hdc; //

. .

 

int StartPage(hDC)
HDC hDC; //

( ). .

 

int EndPage(hdc)
HDC hdc; //

, . . .

 

BOOL CharToOemBuff(lpszSrc,lpszDst,cchDstLength)
LPCTSTR lpszSrc; //
LPSTR lpszDst; //
DWORD cchDstLength; //

OEM (original equipment manufacturer). true.

 

BOOL GetCommTimeouts(hFile,lpCommTimeouts)
HANDLE hFile; //
LPCOMMTIMEOUTS lpCommTimeouts; // COMMTIMEOUTS

, , , CreateFile.

 

BOOL GetCommProperties(hFile,lpCommProp)
HANDLE hFile; //
LPCOMMPROP lpCommProp; // COMMPROP

, CreateFile.

 

BOOL GetCommState(hFile,lpDCB)
HANDLE hFile; //
LPDCB lpDCB; // DCB

/ , CreateFile.

 

DCB .
typedef struct _DCB {
DWORD DCBlength; // DCB [sizeof(DCB)]
DWORD BaudRate; // bps
DWORD fBinary: 1; // (true/false)
DWORD fParity: 1; // (true/false)
DWORD fOutxCtsFlow:1; // CTS (true/false)
DWORD fOutxDsrFlow:1; // DSR (true/false)
DWORD fDtrControl:2; // DTR
DWORD fDsrSensitivity:1; // DSR (true/false)
DWORD fTXContinueOnXoff:1; // XOFF (true/false)
DWORD fOutX: 1; // OFF (true/false)
DWORD fInX: 1; // OFF (true/false)
DWORD fErrorChar: 1; // (true/false)
DWORD fNull: 1; // (true/false)
DWORD fRtsControl:2; // RTS
DWORD fAbortOnError:1; // (true/false)
DWORD fDummy2:17; // ,
WORD wReserved; // ,
WORD XonLim; /* XON */
WORD





:


: 2016-12-06; !; : 564 |


:

:

, .
==> ...

1519 - | 1406 -


© 2015-2024 lektsii.org - -

: 0.517 .