|
So you are using Direct3D DM? You should realize that lines are actually very thin polygons in Direct3D - so as to minimize the calling structures. This may be the root of the problem.
This sounds like you are transforming the viewport instead of the projection matrix as a response to changing of the window size.
If not, There are also hardware accelerator problem sometimes - check to see if it does the same thing on a different video card - or turn off hardware acceleration in the Windows display options.
|
|
|
|
|
Is there an API call that can be used to detect if the system is Shutting down/Restarting or Logging Off.
I've got a program that runs as a scheduled task, and sometimes when the user logs off, the Program Wait...End Now comes up or the "application couldn't start because the terminal is shutting down", because the scheduled task is started each 5 minutes. I want to prevent the error, is there anything I can do?
|
|
|
|
|
Have a look at WM_QUERYENDSESSION:
WM_QUERYENDSESSION
The WM_QUERYENDSESSION message is sent when the user chooses to end the session or when an application calls the ExitWindows function. If any application returns zero, the session is not ended. The system stops sending WM_QUERYENDSESSION messages as soon as one application returns zero.
After processing this message, the system sends the WM_ENDSESSION message with the wParam parameter set to the results of the WM_QUERYENDSESSION message.
WM_QUERYENDSESSION
nSource = (UINT) wParam;
fLogOff = lParam Parameters
nSource - Reserved for future use.
fLogOff - Value of lParam. Indicates whether the user is logging off or shutting down the system. Supported values include: ENDSESSION_LOGOFF.
Return Values
If an application can terminate conveniently, it should return TRUE; otherwise, it should return FALSE.
Dominik
_outp(0x64, 0xAD);
and
__asm mov al, 0xAD __asm out 0x64, al
do the same... but what do they do??
(doesn't work on NT)
|
|
|
|
|
Good Morning,
I am developing an application in MFC VC++ Version 6.0 for Windows 2000
I need some help.
How can we convert CSTring to LPCSTR
I have a function in which I neet to pass LPCSTR type agument.
myprogram()
{
CString str;
//
//how to convert this str to LPCSTR
//
myfunc(str)---???
}
myfunc(LPCSTR str)
{
....
....
...
}
Waiting for a positive response.
Rohit
|
|
|
|
|
|
here's the solution..
myprogram()
{
CString str;
//
//how to convert this str to LPCSTR
//
myfunc(LPCSTR(str))---???
}
myfunc(LPCSTR str)
{
....
....
...
}
___________________________
When a thing is new, people say, "It's not true." Later, when its truth becomes obvious, people say, "It's not important." Finally, when its importance cannot be denied, people say, "Well, it's not new."
|
|
|
|
|
hi,
my exact code is:
myprogram()
{
CString EZBuf;
EZBuf.Format("%sEZBuf",HardDiskLetters[iCounter]);
//where HardDiskLetters[iCounter] = c:\\
DelTree((LPCSTR)EZBuf);
}
DelTree(LPCSTR path)
{
...
}
////////////////////////////////
Deltree function is used to remove the directory
I tried your method but it didnot worked.
On other hand if i pass c:\EZBuf in the function then the program works fine
/////////////////////////////////
Can anybody tell where the problem is ??
Rohit
|
|
|
|
|
check out ur HardDiskLetters.. i sur harddisk letter is "C:" hten u need to add '\\' in ur code EZBuf.Format("%s\\EZBuf",HardDiskLetters[iCounter]);
in any case, final string in 'EZBuf' should be "C:\dir_name"
try it out..
Bhaskar
___________________________
When a thing is new, people say, "It's not true." Later, when its truth becomes obvious, people say, "It's not important." Finally, when its importance cannot be denied, people say, "Well, it's not new."
|
|
|
|
|
BhaskarBora wrote:
When a thing is new, people say, "It's not true." Later, when its truth becomes obvious, people say, "It's not important." Finally, when its importance cannot be denied, people say, "Well, it's not new."
LOL! True!
"Blessed are the peacemakers, for they shall be called sons of God." - Jesus
"You must be the change you wish to see in the world." - Mahatma Gandhi
|
|
|
|
|
hi ,
I tried both ways but it didnot worked.
void myfun()
{
CString str;
str.Format("%sEZBuf",HardDiskLetters[iCounter]);
DelTree(str); //doesnot works
DelTree((LPCSTR)str); // doesnot works
DelTree("c:\\EZBuf"); //Works
}
DWORD DelTree(LPCSTR pszBase)
{
SHFILEOPSTRUCT sFileOp;
ZeroMemory(&sFileOp, sizeof(SHFILEOPSTRUCT));
sFileOp.wFunc = FO_DELETE;
sFileOp.pFrom = pszBase;
sFileOp.fFlags = FOF_SILENT|FOF_NOCONFIRMATION|FOF_NOERRORUI;
SHFileOperation(&sFileOp) ;
return 0;
}
|
|
|
|
|
your problem is that - in 'sFileOp.pFrom' the list of names must be double null-terminated!!!
with:
str.Format("%sEZBuf%c",HardDiskLetters[iCounter],'\0');
your function will work fine.
CC.
|
|
|
|
|
Great brain.. Constantin.
Thanks a lot.
|
|
|
|
|
Hi,
I think just with a casting could be enough ?
CString Mystring;
myfunc((LPCSTR) Mystring);
If not, try this:
CString MyString;
myfunc(MyString.GetBuffer(0));
MyString.ReleaseBuffer();
HTH
Braulio
|
|
|
|
|
try using the Cstring::operator LPCSTR();
i.e.
yourfunc(str.operator LPCSTR());
yourfunc(LPCSTR str)
{
...
...
}
|
|
|
|
|
It would be nice if your explanation could describe whether this error was a syntax or semantic error. From your description, most people with a good english understanding would have thought that "does not work", implies a syntax compiler error, however, from constantin's solution I can see you actually meant "does not work" in a semantic sense where the function does not operate how you expect it to. It would be great if people could do this in their questions to stop nutters like me barking up the wrong tree, racking my brains for a solution that doesn't exist .
Alan.
|
|
|
|
|
Dear Alan,
Will definately take care from now onwards,
Rohit
|
|
|
|
|
hello all
When user click on a link, then how to get information of that link (eg : IP address) and how to block that IP (user can't go to that site).
sorry all, i'm not good in English.
|
|
|
|
|
Are you sure you want the C++ forum for this?
Sounds more like a web question.
Jason Henderson "I can picture in my mind a world without war, a world without hate. And I can picture us attacking that world, because they'd never expect it."
- Jack Handey
|
|
|
|
|
Can some one help me write this in c++;
I am using csharp but i want this in native code;
public static bool Contains( ref string[][] lookupTable, string value, bool ignoreCase )
{
int i = value.Length;
if ( i <= 0 || i - 1 >= (int)lookupTable.Length )
{
return false;
}
string[] strs = lookupTable[i - 1];
if ( strs == null )
{
return false;
}
else
{
return Contains( ref strs, value, ignoreCase );
}
}
Thank You
Bo Hunter
|
|
|
|
|
This function does not compile in C# (bad parameter in recursive call), and as far as I can see it doesn't do anything useful (it always return false).
If you fix that, I might be able to help you.
|
|
|
|
|
Well this probaly want compile by it self but I just need some help writing this in C++.
if you would look closely at this you would see that this is not a recursive call.
The other Contians method takes a single deminsion array of strings this one takes two deminsion array of strings.
I just thought if I could get help with this one I could do the rest myself.
I dont like to see people to throw up a bunch of code and ask someone to translate it for them. I would like to learn to do it myself.
Thank You
Bo Hunter
|
|
|
|
|
Assuming you have a function called Contains that takes an array of strings, you could write it like this: (note: I havent compiled or tested it)
typedef std::vector<std::string> string_row;
typedef std::vector<string_row> string_matrix;
bool Contains (const string_row& lookupTable, const std::string& value, bool ignoreCase);
bool Contains (const string_matrix& lookupTable, const std::string& value, bool ignoreCase)
{
int i = value.length();
if ( i <= 0 || i-1 >= lookupTable.size() )
return false;
const string_row& strs = lookupTable[i-1];
if (strs.size() == 0)
return false;
else
return Contains(strs, value, ignoreCase);
}
“Our solar system is Jupiter and a bunch of junk” - Charley Lineweaver 2002
|
|
|
|
|
This looks like a homework assignment for a CS course.
|
|
|
|
|
How can I get the process's ID when I have got the process's HANDLE?
Thanks
|
|
|
|
|
in Windows XP sp1 and Windows server 2003 you can call GetProcessId.
But for the other, I dont think there is a documented way of doing that. You might be able to doing with some kernel call, but Im not sure. If there is a way, search Google under microsoft.public.win32.programmer.kernel
Magnus
|
|
|
|