|
Use CEditView::GetEditCtrl to get a reference to the edit control in the form of a CEdit class instance. Then you will need CEdit::GetLineCount , CEdit::LineScroll and CEdit::SetSel to perform the actual scrolling.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
Hallo and thanks for the reply , i have this code in the Tes_Doc.cpp
CEdit &EditOutput = m_ptrOutput->GetEditCtrl ();// m_ptrOutput is CEditView Pointer
nLineCount = EditOutput.GetLineCount ();
EditOutput.LineScroll (nLineCount);
DWORD dwSel = EditOutput.GetSel();
EditOutput.SetSel (dwSel,true);
EditOutput.SetWindowTextA(m_strOutput);
The code does not work. I do not know why?
|
|
|
|
|
Try this sequence.
CEdit &EditOutput = m_ptrOutput->GetEditCtrl();
EditOutput.SetWindowTextA(m_strOutput);
LineCount = EditOutput.GetLineCount();
EditOutput.LineScroll (nLineCount);
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
it works thank you very much.
|
|
|
|
|
I have a program that uses MFC Dialog, GDI and DirectDraw to bounce a ball around a screen.
I have got it all working with 3 standard timers set at 1 ms 50 ms 1000 ms and a high performance timer.
I am using GDI to double buffer and bitblt and i am trying to use Directdraw to take this and avoid tearing by waiting for the vertical refresh.
My trouble is that as soon as you click on the screen it stops, It seems to be accessing the desktop somehow with the mouse.
Anyone got any ideas
www.rosspctraining.co.uk/timer8.zip
a working GDI only version is
www.rosspctraining.co.uk/timer9.zip
|
|
|
|
|
The WRR algorithm is based on the Round Robin
algorithm but it takes into account the processing
capacity of each waiter.
• The administrators manually assign a coefficient of
performance to each waiter. ( 1, 2 and 3 in the example).
Counter
Reset
VCC 1 (Source 1) 1 1 1 Cycle
VCC 2 (Source 2) 2 2
VCC 3 (Source 3) 3 3 3 3 3
2
1
3
3 3 1 3 2 1 3 3 1 3 2 1
WRR
scheduler
Coefficients of performance
….
• A sequence of scheduling is generated automatically
according to this value.
• The requests are then assigned to the various
waiters according to a sequence of alternate
repetition
VCC 2 (Source 2)
VCC 3 (Source 3)
VCC 1 (Source 1) 1 1 1
2 2
3 3 3 3 3
2
1
3
3 3 1 3 2 1 3 3 1 3 2 1
WRR
scheduler
Counter
Reset
Cycle
Sequence of scheduling
…….
WRR
|
|
|
|
|
Read the Guidelines[^] and post accordingly. Reposting the same thing several times will get you ignored RightAwayTM
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
samar aladwan wrote: The WRR algorithm is based on the Round Robin
algorithm but it takes into account the processing
capacity of each waiter
Thank you for the precious info. Now you might go back to your homework.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Round-Robin algorithm equitably distributes
the load between each waiter whatever the
current number of connections or the response
times
RR
• This algorithm is adapted if the waiters of the
cluster have the same processing capacities
• if not, certain waiters are likely to receive
more requests than they can treat. Some
while others will use only part of their
resources.
• The WRR algorithm solves this problem.
|
|
|
|
|
you should really do your own homework
|
|
|
|
|
I have this peace of code to choose a font family for the input text in ceditview class(i have here SDI_Appliction):
CFont *cfont = (CFont*) new CFont();
LOGFONT *lf = new LOGFONT();
m_cfdlg.GetCurrentFont(lf); // CFontDialog m_cfdlg;
strFaceName = m_cfdlg.GetFaceName();
nSize = (m_cfdlg.GetSize()/ 6);
cfont->CreateFont(nSize,lf->lfWidth,lf->lfEscapement,lf->lfOrientation,lf->lfWeight,lf->lfItalic,false,
0,1,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS,strFaceName);
CEditView m_ptrInput = (CEditView *) m_wndSplitter.GetPane(0,0);
ASSERT_VALID(m_ptrInput);
m_ptrInput->SetFont(cfont,true); // When this line apllied, the Text will have the size that benn choosen in the font dialog but not the font family or the face name ???
Any help would be appreciated.Thanks
|
|
|
|
|
Hello ,
My application needs to monitor all other running applications on the system. Is there some way I could get notified on exit of every application exe?
The methods I could find:
1) Use PSAPI functions to get the list of running exes at frequent intervals. At each poll compare with the previous list to find which application/process has exited.
Disadvantage: Requires constant polling, will take CPU time.
2) Set a global hook for WM_CLOSE message: Using this I would be able to get a notification when any application gets closed through the close button on the title bar
Disadvantage:
(-) Not all the applications are generating a WM_CLOSE message (Ex: Total Video Player Exe)
(-) If the application was closed through the "Exit" menu or button (e.g. File->Exit) , I can't trap that message
Is there any other better way that I missed? Please advise.
|
|
|
|
|
WindowsPistha wrote: Not all the applications are generating a WM_CLOSE message (Ex: Total Video Player Exe)
(-) If the application was closed through the "Exit" menu or button (e.g. File->Exit) , I can't trap that message
Why don't you capture WM_QUIT instead? This is the only message that finally halts the Message Loop.
But, you won't be able to track abnormal termination of an application with this.
|
|
|
|
|
Taran9 wrote: Why don't you capture WM_QUIT instead? This is the only message that finally halts the Message Loop.
But, you won't be able to track abnormal termination of an application with this.
But our application needs to handle that case too.
|
|
|
|
|
You will need to hook APIs like TerminateProcess in addition to installing a message hook.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
Just out of curiousity, what kind of an application are you writing?
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
3) Use WMI, as shown in this message[^]. The sample code is VBScript (and would need to be rewritten as below), but it works well enough.
' Get a reference to the WMI service
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
' Open a WMI query for __instancedeletionevents where the target instance is a Win32_Process
Set colMonitoredProcesses = objWMIService. _
ExecNotificationQuery("select * from __instancedeletionevent " & _
"within 1 where TargetInstance isa 'Win32_Process'")
' This call will complete the next time a process is deleted.
colMonitoredProcesses.NextEvent
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Stuart Dootson wrote: 3) Use WMI, as shown in this message[^]. The sample code is VBScript (and would need to be rewritten as below), but it works well enough.
Does this required WMI service running in the machine.
If it is turned off , will i able to catch this event "__InstanceCreationEvent"
Thanks
|
|
|
|
|
WindowsPistha wrote: Does this required WMI service running in the machine.
Yes, if you want your application to be capable of monitoring process creation/termination and also not rely on any Microsoft services then you will need to implement your own device driver. Typically anti-virus and other types of security products are using PsSetCreateProcessNotifyRoutine[^] to be notified of process creation and termination. An example of its usage is available here on codeproject:
Detecting Windows NT/2K process execution[^]
Best Wishes,
-David Delaune
|
|
|
|
|
Hello,
I am also looking for a similar solution. My Questions are:
1) The solution requires DDK to be installed. Where can I download DDK from ?
2) Will this solution work on Vista ?
Thanks.
|
|
|
|
|
Hello there.
Identity Undisclosed wrote: 1) The solution requires DDK to be installed. Where can I download DDK from ?
The marketing people over at Microsoft change the name of their products every few years which really drives me crazy. The Microsoft DDK is now called WDK (Windows Driver Kit[^]) and the Download Kits and Tools[^] page will eventually bring you to the direct download link.
Identity Undisclosed wrote: 2) Will this solution work on Vista ?
Yes the PsSetCreateProcessNotifyRoutine [^] callback is avilable for Windows Vista and the driver will function correctly. However, Vista is very strict about loading unsigned drivers. You will need to sign the driver in order for Vista to load it. Below are some methods to get around the issue during the development phase:
Installing an Unsigned Driver during Development and Test[^]
TESTSIGNING Boot Configuration Option[^]
Best Wishes,
-David Delaune
|
|
|
|
|
I don't know if this is possible, but I'd explore the possibility of getting a list of running exes. Duplicate their handle. Wait on that handle.
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
Hello,
This is the solution I found from another source:
=======================================================
Apart from WMI, a nice and elegant way to do that is to place a small DLL "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs"
(see also http://support.microsoft.com/kb/197571 - "Working with the AppInit_DLLs registry value")
DLLs listed in AppInit_DLLs will be loaded into every newly created process and will allow you to perform any notification via the DLL's 'DllMain().
Let me know, if you need help with source code.
|
|
|
|
|
Just wanted to add some comments for your consideration. The AppInit_DLLs entry will not have any effect on applications which are not linked with user32.dll. Generally this isn't much of an issue because 99% of all usermode applications are linked against user32. However if your developing a security product then this might not be acceptable.
Also you need to be aware that the future of AppInit DLLs is uncertain and is changing. Just like loading device drivers, future AppInit DLLs will have a code signature requirement. Microsoft has outlined this new behavior here:
AppInit DLLs in Windows 7 and Windows Server 2008 R2[^]
Best Wishes,
-David Delaune
|
|
|
|
|
Does the TRACE macro work with Unicode string as well?
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|