|
As a Computer Engineering student not a Computer Science, I am allowed to take codes or some parts of it from various sources, my project supervisor has suggested to ask experts like you people here. The main purpose of my project is how to implement these codes on PCs connected in a network. I heard that there are just few simple commands that should be sent between teacher and student PCs under windowsXP which can provide lock/release feature.
So I want some steps, information or some useful links related to the topic.
Thank you in advance for any assistance.
Sara
|
|
|
|
|
This may be of interest - It looks like Terminal Services has features you are looking for:
Remote Desktop Protocol[^]
For possible code there may be some in these[^] articles.
Mark
|
|
|
|
|
|
I am having a problem with the block on ReadDirectoryChangesW operating in two threads.
Each thread is watching a separate directory. For illustration, Directory1 has a new file written to it periodically, say every 30 seconds. E.g. 1.txt, 2.txt,...,[n-1].txt, [n].txt. In Directory2, there is a single file, sequenceinfo.txt, which has new data written to it on an incremental basis where each line is some reference to each file being written in Directory1. For example,
1: 1.txt ref info
2: 2.txt ref info
...
[n-l]: [n-1].txt ref info
[n]: [n].txt ref info
So basically, ReadDirectoryChangesW watches Directory1 for new files being written sequentially. Each time a new file is written, the file is opened and the data funnelled into a database. The thread watching Directory2 watches for file size changes, seeks to the last line, and funnels the last line into the database being matched to the relevant file info read from Directory1.
The problem I am experiencing is that the longer the watching continues, the longer it takes for the events to fire. There seems to a constant deceleration in the time it takes for ReadDirectoryChangesW to unblock. Is there perhaps a buffer that needs flushing somewhere ot something?
Any ideas or suggestions will be much appreciated.
-- modified at 8:39 Sunday 4th February, 2007
|
|
|
|
|
I would suspect the problem lies in the opening and closing of the file you are writing to. The larger the file becomes, the slower the process of iterating to the end becomes.
In your case, I would use a named memory mapped file and keep it open in both threads.
|
|
|
|
|
This sounds plausible. I am using the Seek method though. While I know disk accesses are not random access..surely by specifying the address of the last line to seek to would make a pretty quick seek, The files aren't massive, 800KB at the most. I don't know a helluva lot about disk I/O though so I could be way off track here. Any suggestions for literature on "named memory mapped" files?
Thanks for the response. Much appreciated.
|
|
|
|
|
Open/create your file with CreateFile() and the shared access flags. Use the file like memory with CreateFileMapping() followed by MapViewOfFile() . You can now read and write using all the standard string functions and casting a pointer within the file to a char/wchar_t. The named part comes from a mutex. Use CreateMutex() with the same string name in both threads. To prevent reading and writing at the same time use WaitForSingleObject() before you try reading or writing.
|
|
|
|
|
I'll give this a bash...thanks bro
|
|
|
|
|
|
I want get main board or bios serial number by programming in Visual c6,
I read and work a few with WMI class but can not get serial number for bios or main board.
Thanks.
|
|
|
|
|
|
To create a 'interactive' service on windows - we use a localsystem account ,with 'Interact with desktop' option.
Is there any other account which allows a service to be interactive - e.g. can a service be made interactive while it is running under the credentials of a domain account in 2000/XP/2003 ?
We launch an IE browser from the service - and hence the service neesd to be interactive.
|
|
|
|
|
rana74 wrote: To create a 'interactive' service on windows - we use a localsystem account ,with 'Interact with desktop' option.
Is there any other account which allows a service to be interactive - e.g. can a service be made interactive while it is running under the credentials of a domain account in 2000/XP/2003 ?
We launch an IE browser from the service - and hence the service neesd to be interactive.
have a try!
"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 have a switch which has positions defined like thie:
class InstLights
{
public:
enum RHEO{ OFF, ON25, ON50, ON75, BRT };
static void IncRheoLevel();
private:
static RHEO rheoLevel;
}
And basically I want to be able to call IncRheoLevel() like this:
InstLights::IncRheoLevel();
and thought it would be clean & neat to do it like this:
// in .cpp file
void InstLights::IncRheoLevel(){ rheoLevel++; }
however, that would require operator overloading (operator++) which would require a non-static object. For reasons I won't go into here, I need to use a static object (there is only one anyway).
So, my question is... given a current rheoLevel, what is the best way to "increment" it?
While I could just easily use int's, I want to try and understand how to use enums better.
Thanks.
|
|
|
|
|
There isn't a built-in increment (or decrement) ability for enums because you can do this:
enum Bob { foo=1, bar=5, baz }; The values don't have to be consecutive. You can cast between an enum and an int, however it's up to you to make sure you only use valid values when casting to an enum type.
|
|
|
|
|
Hi all!
I have problem regarding drap and drop file onto Microsoft Word application. When I am drag PDF file onto Microsoft Word then the file converted into doc by my application and open with word. And when open PDF file is Open in Word using Open Menu it is also handle by my application. Please help me !
Thanks and Regards
Mahesh:
|
|
|
|
|
I have a function that queries an Oracle DB. It accepts two argumnets, a Command string and a Connection String. For some reason I receive two errors on each statement in my __finally block.
Is there something wrong with my declarations?
Errors:
error C2065: 'myReader' : undeclared identifier
error C2227: left of '->Close' must point to class/struct/union/generic type
error C2065: 'myOracleConnection' : undeclared identifier
error C2227: left of '->Close' must point to class/struct/union/generic type
My code that generates the errors:
cPacket ^queryPacket(String ^cmd, String ^con)
{
//test if the passed arguments are empty
if(con->Equals(""))
{
MessageBox::Show("Oracle Connection String Empty o.O","Error in Form1::queryPacket");
}
if(cmd->Equals(""))
{
MessageBox::Show("Oracle Command String Empty o.O","Error in Form1::queryPacket");
}
try
{
OracleConnection ^myOracleConnection = gcnew OracleConnection(con);
OracleCommand ^myOracleCommand = gcnew OracleCommand(cmd, myOracleConnection);
myOracleConnection->Open();
OracleDataReader ^myReader = myOracleCommand->ExecuteReader(CommandBehavior::CloseConnection);
myReader->Close();//I put this in here to debug. The statement doesnt throw any errors and inteliSense picks up the myReader object so I'm assuming that it works fine.
}//end try
catch (Exception ^ex)
{
MessageBox::Show(ex->Message,"Exception in class PaCCaP's function queryPacket",
MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
}//end catch
__finally
{
myReader->Close(); //this is where the first 2 errors are generated
myOracleConnection->Close(); //and the second 2
}//end finally
I'm hoping this is something small that I've overlooked, possibly in my declarations?
Also, It It's not too much to ask, How do you create a 1-dimensional array of objects in the 2005 syntax (I just switched over from 2003 and trackable ^ pointers are a bit fuzzy to me.
All suggestions are welcomed.
Thanks!
|
|
|
|
|
|
Hi all:
I need a random float number generator, I tried drand48(), but it complains it as the unrecogonised identifier. Is there any other function please?
Thanks
Asura
|
|
|
|
|
double floatingRand = (double)((rand() % (max-min)) + min) + ((double)rand() / (double)RAND_MAX);
|
|
|
|
|
can anybody please tell me what these errors is saying....
email test error LNK2019: unresolved external symbol __beginthreadex referenced in function "public: int __thiscall CWinThread::CreateThread(unsigned long,unsigned int,struct _SECURITY_ATTRIBUTES *)" (?CreateThread@CWinThread@@QAEHKIPAU_SECURITY_ATTRIBUTES@@@Z)
email test error LNK2019: unresolved external symbol __endthreadex referenced in function "void __stdcall AfxEndThread(unsigned int,int)" (?AfxEndThread@@YGXIH@Z)
Thank you in advance
|
|
|
|
|
I'm guessing you are not linking to the Multithread C Runtime library.
Make sure in your project settings C++/Code Generation/Runtime Library section you've set it
as one of the multithreaded options.
Mark
|
|
|
|
|
Did you set
/MT<code> for your project <br />
<br />
<div class="ForumSig"><div style="padding: 0; margin: 0; background-color: rgba(170, 214, 255, 1); text-align: center; font-family: Arial; font-weight: bold; font-style: italic; font-size: 9pt"><br />
<div style="color: rgba(255, 255, 255, 1); width: 300px"><br />
<hr width="250" size="7">WhiteSky<hr width="220" size="7"></div></div></div>
|
|
|
|
|
Look at sample.
<br />
int main(int, const char **) {<br />
int a = -2;<br />
unsigned b = 1;<br />
int array[5] = { 1, 2, 3, 4, 5 };<br />
int *ptr = array + 3;<br />
ptr = ptr + (a + b);
printf("%i\n", *ptr);
return 0;<br />
}<br />
Do you know why this code does not work on 64-bit system? Do you assured, what no similar errors founds in your code? Do you know other typical errors reduce to down state C++ code on 64-bit platforms?
Under the specified link you can find huge quantity of references to the documentation and article, devoted porting on 64-bit platforms.
http://www.viva64.com/links.php
http://www.viva64.com/articles.php
(Spam or not spam - People are interested.)
|
|
|
|
|
Karpov2007 wrote: The computer industry is changing, and 64-bit technology is the next, inevitable step.
There is nothing "changing" at all, 64-bit systems have been around for a long time. What you think 64-bit XP was the first...
If you have a decent compiler, it will notify you about the 64-bit compatibility issues like in your example. Unless of course you don't like the warnings and turned the feature OFF!
|
|
|
|