|
If it's not NULL then it was successful and calling GetLastError() isn't necessarily valid.
You only need to call that on failure.
From the docs:
"Most functions that set the thread's last-error code set it when they fail. However, some
functions also set the last-error code when they succeed. If the function is not documented to
set the last-error code, the value returned by this function is simply the most recent last-error
code to have been set; some functions set the last-error code to 0 on success and others do not."
Generally errors are checked for and handled something like:
m_hBitmap = CreateDIBSection(hdc, &bmpInfo, DIB_RGB_COLORS, &pBits, m_hMMF, dwOffset);
if (NULL == m_hBitmap)
{
TRACE("Error code = %d \n", GetLastError());
...do appropriate error handling/cleanup here
}
"If you can dodge a wrench, you can dodge a ball."
|
|
|
|
|
|
I am trying to write a GINA, but am faced with a problem... I need to retrieve some info over the internet/intranet. Does anyone know if this is possible, if so how would I go about it?
I have samples of writing a GINA, but all point to simply adding the password either from biometric readers or smartcards, I need to fetch a template over the net, scramble it and present it to the logon user (in a webpage).
Any ideas?
Thank you,
SeaSol
|
|
|
|
|
Hi,
I want to read RTF file in Chunk by chunk.
And I want to append in StreamIn i.e. RichEditCtrl.
But Chunk by chunk upending is not working. If I read
whole file in buffer and append/insert, it works fine.
I set SF_RTF and SFF_SELECTION flags for StreamIn.
If anyone knows about RTF & RichEdit control,
please help me.
Ashok
|
|
|
|
|
Is there a reason you are using SFF_SELECTION? Are you reading an entire file/stream to fill
the richtext control or appending/replacing existing text in the control?
What isn't working? Does your callback get called?
Mark
"If you can dodge a wrench, you can dodge a ball."
|
|
|
|
|
|
Programm3r wrote: I can use to get all the sub-directories of a directory.
Use WIN32_FIND_DATA,FindFirstFile(),FindNextFile(), you can write a recursive function.
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
Like this ??
WIN32_FIND_DATA mystruct;
mystruct.dwFileAttributes = FILE_ATTRIBUTE_DIRECTORY;
HANDLE myHandle = FindFirstFile("C:\\<dirMain>\\subdir", &mystruct);
BOOL myBOOL = FindNextFile(myHandle, &mystruct);
DWORD bw = GetLastError();
18 There are no more files. ERROR_NO_MORE_FILES
It doesn't work ??
The only programmers that are better than C programmers are those who code in 1's and 0's.....
Programm3r
My Blog: ^_^
|
|
|
|
|
Set up the search with ::FindFirstFileEx() and limit the search to directories.
Call ::FindNextFile() until the call fails, i.e. returns FALSE and ::GetLastError() returns ERROR_NO_MORE_FILES .
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
I have tried the following, but I can't seem to get it right.
All I want is to get all the names of directories and not the files.
Can someone please help me???
HANDLE Handle;
WIN32_FIND_DATA FindData;
char Temp[256];
char tempBuffer[100];
sprintf((char *)Temp, "C:\\dirMain\\subDir");
Handle = FindFirstFile((char *)Temp, &FindData);
while(1)
{
if(FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
printf("Dir Name : %s\n",FindData.cFileName);
}
else
{
break;
}
if(!FindNextFile(Handle, &FindData))
break;
}
Many Thanx
Regards,
The only programmers that are better than C programmers are those who code in 1's and 0's.....
Programm3r
My Blog: ^_^
|
|
|
|
|
This works:
void ChangeDirectoryAttribute(TCHAR* m_szFdPath)
{
HANDLE hFile;
WIN32_FIND_DATA FileInformation;
TCHAR m_szPath[MAX_PATH];
TCHAR m_szFolderInitialPath[MAX_PATH];
TCHAR wildCard[MAX_PATH] = "\\*.*";
strcpy(m_szPath,m_szFdPath);
strcpy(m_szFolderInitialPath,m_szFdPath);
strcat(m_szFolderInitialPath,wildCard);
hFile = ::FindFirstFile(m_szFolderInitialPath, &FileInformation);
if(hFile != INVALID_HANDLE_VALUE)
{
do{
if(FileInformation.cFileName[0] != '.')
{
strcpy(m_szPath,m_szFdPath);
strcat(m_szPath,"\\");
strcat(m_szPath,FileInformation.cFileName);
if(FileInformation.dwFileAttributes &
FILE_ATTRIBUTE_DIRECTORY)
{
::SetFileAttributes(m_szPath,FILE_ATTRIBUTE_NORMAL);
printf("Dir name: %s\n", m_szPath);
ChangeDirectoryAttribute(m_szPath);
}
else
{
::SetFileAttributes(m_szPath,FILE_ATTRIBUTE_NORMAL);
}
}
}while(::FindNextFile(hFile, &FileInformation) == TRUE);
::FindClose(hFile);
DWORD dwError = ::GetLastError();
if(dwError == ERROR_NO_MORE_FILES)
{
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
TCHAR m_szFolderPath[MAX_PATH] = "C:\\Program Files\\MyFolder";
ChangeDirectoryAttribute(m_szFolderPath);
return 0;
}
Source: CodeGuru How to Change the Attributes of a Directory Through Visual C++
[^]
Regards,
The only programmers that are better than C programmers are those who code in 1's and 0's.....
Programm3r
My Blog: ^_^
|
|
|
|
|
Programm3r wrote: This works:
I should hope so, since it uses the two functions mentioned twice already.
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
DavidCrow wrote: since it uses the two functions mentioned twice already.
Kinda hard to get those functions working like one wants too.
The only programmers that are better than C programmers are those who code in 1's and 0's.....
Programm3r
My Blog: ^_^
|
|
|
|
|
Programm3r wrote:
Kinda hard to get those functions working like one wants too.
Only if you live in a cave with no Internet access. Googling for FindFirstFile() yields more examples than you can shake a stick at.
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
|
Programm3r wrote: Cave No 5
Cave Road
Ca'v'efornia
Hey! We're neighbors!
"If you can dodge a wrench, you can dodge a ball."
|
|
|
|
|
|
Programm3r wrote: Cave No 5
Cave Road
Ca'v'efornia
ca'v'eland....
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and you
|
|
|
|
|
I am a Newbie. I want to know how can I send HTTP request, both GET and POST using vc++. What are the libraries needed for that. And how can this be incorporated in a DLL.
This is urgent. So please reply faster.
Thanks for your prompt reply.
Nikhil Trivedi
Nikhs
Software Developer
|
|
|
|
|
Yes Sir,
Read MSXML interfaces....
Think about forming requests and getting the response. Deserialize the response and you are done. That is all to it.
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
Nikhil Trivedi wrote: I want to know how can I send HTTP request, both GET and POST using vc++
There are many ways.
Nikhil Trivedi wrote: What are the libraries needed
There are many libraries.
Winsock API
CAsyncSocket, CSocket MFC Classes
WinInet library
CInternetSession and MFC WinInet Classes
WinHttp library
Good luck
led mike
|
|
|
|
|
Nikhil Trivedi wrote: So please reply faster
You need too reply Faster!
"If you can dodge a wrench, you can dodge a ball."
|
|
|
|
|
I type very fast!
led mike
|
|
|
|
|
led mike wrote:
I type very fast!
ohh i am late in replying
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and you
|
|
|
|
|
Nikhil Trivedi wrote: I am a Newbie. I want to know how can I send HTTP request, both GET and POST using vc++. What are the libraries needed for that. And how can this be incorporated in a DLL.
http://www.codeproject.com/internet/amhttputils.asp[^]
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and you
|
|
|
|