|
Thanks for the replay.
Actually I comes with an error, undeclared identifier on the following.
Thaddeus Jones wrote: PROCESS_MEMORY_COUNTERS_EX info;
I've included psapi.h header too.
I appreciate your help all the time...
CodingLover
|
|
|
|
|
You can try PROCESS_MEMORY_COUNTERS instead, maybe PROCESS_MEMORY_COUNTERS_EX was introduced later than your compiler (it requires WinXP SP2 or above).
modified 13-Sep-18 21:01pm.
|
|
|
|
|
That's why I'm wired. I'm working on WinXP SP3.
Anyway I work on with PROCESS_MEMORY_COUNTERS, and works fine. But when I'm invoking GetProcessMemoryInfo(...) it gives an unusual error at build.
error LNK2019: unresolved external symbol _GetProcessMemoryInfo@12 referenced in function "public: void __thiscall CMyExceptionLogger::LogMemoryUsage(enum LOGLEVEL)" (?LogMemoryUsage@CMyExceptionLogger@@QAEXW4LOGLEVEL@@@Z)
You have any idea about this?
I appreciate your help all the time...
CodingLover
|
|
|
|
|
Did you link psapi.lib to your project?
modified 13-Sep-18 21:01pm.
|
|
|
|
|
Oh no. I don't. Could you please guide me how to do that?
I appreciate your help all the time...
CodingLover
|
|
|
|
|
That varies per compiler, you'd have to look that up in the manual.
Typically there's a menu item named Project with subitem Settings or Configuration or something.
modified on Monday, December 6, 2010 8:25 AM
modified 13-Sep-18 21:01pm.
|
|
|
|
|
As replied, you can use GetCurrentProcess to get a handle to the current process.
But this is a pseudo-handle and its value is always -1 .
This handle is not valid outside of the current process.
If you want to pass the handle to another process, you can call DuplicateHandle on this pseudo-handle to get a real one.
|
|
|
|
|
Hi
How to convert a CString value to HEX?
eg:
CString strHex = "0008103e";
to
HEX value = 0x0008103e
please help
Thanks
|
|
|
|
|
An hex value doesn't exist, what you want probably is to convert a string representing an integer in hexadecimal notation to an integer. For this you can use strtol[^] function.
|
|
|
|
|
Benjamin Bruno wrote: How to convert a CString value to HEX?
eg:
CString strHex = "0008103e";
to
HEX value = 0x0008103e
What Cedric said.
ULONG nVal;
CString str = _T("0x4335");
nVal = _tcstol(str, NULL, 0);
It was ever thus, the Neophiles will always rush out and get 'The Latest Thing' at a high price and with all the inherent faults - Dalek Dave.
|
|
|
|
|
You got excellent C answers. In C++ use the facilities of the Standard C++ Library:
#include <sstream>
int GetIntFromHexString(const char* HexString)
{
int val;
std::istringstream(HexString) >> std::hex >> val;
return val;
}
cheers,
AR
When the wise (person) points at the moon the fool looks at the finger (Chinese proverb)
|
|
|
|
|
It can be read words in .pdf document file ? Should be use an special .pdf library , or MFC can do that ?
|
|
|
|
|
You should either use a library or parse yourself the PDF format (specifications are available).
I believe there are articles, here at CodeProject, covering both techniques.
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]
|
|
|
|
|
After all , I need a pdf library to read words in .pdf file ... I was thinking that MFC knows something tricky ...
|
|
|
|
|
mesajflaviu wrote: After all , I need a pdf library to read words in .pdf file ... I was thinking that MFC knows something tricky ...
Why would MFC need to bother about PDF files?! MFC is just a wrapper around Windows API. On the other hand, PDF is one of the several hundred proprietary file formats which is not related in any way with Windows or Microsoft. I wouldn't ever expect MFC to make it easier for me to read PDF files.
By the way, if you do a Google search as suggested by two of us, you'll find a whole lot of libraries/code/exmaples which deals with the subject of manipulating PDF files.
It was ever thus, the Neophiles will always rush out and get 'The Latest Thing' at a high price and with all the inherent faults - Dalek Dave.
|
|
|
|
|
You are right ... I try http://www.pdflib.com/[^] but I didn't find what I need : to read every string from an .pdf file ... and I was thinking that I could read a .pdf file like an binary file or something ...
|
|
|
|
|
|
I'd recommend Haru[^]. Just do a Google search and CodeProject search as well - there are several articles with examples on that topic.
It was ever thus, the Neophiles will always rush out and get 'The Latest Thing' at a high price and with all the inherent faults - Dalek Dave.
|
|
|
|
|
|
|
How to use a gif animation in a listctrl as an item image?(MFC)
Thank you.
|
|
|
|
|
To my knowledge, which does not reach very far on this particular subject, I do not think that CImageList allows GIF images.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
You have to manually extract each frame from the gif, place the images in an image list and then change the displayed image based on a timer. Sounds like a good opportunity to create a custom control and write an article here on CodeProject
|
|
|
|
|
Thank you all.It's hard for me. I would post it here if I solved it.
|
|
|
|
|
Trying to subclass a combobox i order to have the entries have a tab stop. When I perform the subclass I get an assert. This code use to work in the early days of MFC but with 2010 it fails. I did not try it with any VS version in between.
Is it something very simple I'm missing?
Thanks
class CTabCBox : public CComboBox
{
public:
CTabCBox() {icTab=0; lpiTab=NULL;}
~CTabCBox() {if (lpiTab) free(lpiTab);}
BOOL SubclassCBox(UINT nID,CWnd* pParent,int icTabs,LPINT lpiTabs);
protected:
int icTab;
LPINT lpiTab;
virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMis);
virtual void DrawItem(LPDRAWITEMSTRUCT lpDis);
};
class CtestDlg : public CDialogEx
{
public:
CtestDlg(CWnd* pParent = NULL);
enum { IDD = IDD_TEST_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX);
protected:
HICON m_hIcon;
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
CTabCBox m_ctrlFontsX;
CComboBox m_ctrlFonts;
};
TEXTMETRIC tm;
int iTab;
if (m_ctrlFonts.GetDC()->GetTextMetrics(&tm))
iTab = (33+8) * tm.tmAveCharWidth;
m_ctrlFontsX.SubclassCBox(IDC_COMBO1,this,1,&iTab);
CString csS("Font title string\tnnnnnnnn");
m_ctrlFontsX.AddString(csS);
BOOL CTabCBox::SubclassCBox(UINT nID, CWnd* pParent, int icTabs, LPINT lpiTabs)
{
DWORD dwcb;
int iRc = 0;
if (lpiTab)
free(lpiTab);
lpiTab = NULL;
icTab = 0;
if (icTabs>0)
{
dwcb = icTabs*sizeof(int);
if (!(lpiTab = (LPINT)malloc(dwcb)))
return(FALSE);
memcpy(lpiTab,lpiTabs,(size_t)dwcb);
icTab = icTabs;
}
iRc = SubclassDlgItem(nID, pParent);
return(iRc);
}
It always fails on the second assert (FromHandle....) from wincore.cpp
BOOL CWnd::Attach(HWND hWndNew)
{
ASSERT(m_hWnd == NULL);
ASSERT(FromHandlePermanent(hWndNew) == NULL);
Tony Teveris
Gerber Scientific Products
Senior Software Engineer
Phone: 860 648 8151
Fax: 860 648 8214
83 Gerber Road West
South Windsor, CT 06074
|
|
|
|