|
Hi I using the create function to create the modeless dialog box and DestroyWindow() to close it.
|
|
|
|
|
Hey everybody
I need to get a printing event in the system from a windows service, and even better, be able to cancel it, if needed.
I've been sitting on that problem for a long long time!
Anyone can help me with that?
Thanks a lot in advance!
|
|
|
|
|
I'm a little confused to what you're asking...
Do you want to be able to print from your service? I can see it being difficult to choose a printer, but you could write a helper user mode application for configuration of your service's settings.
Do you want your service to pretend to be a printer?
Do you want to monitor print queues, and monitor them for anyone trying to print anything other than a banner saying "Fuze" in big green letters?
Iain.
In the process of moving to Sweden for love (awwww).
If you're in Scandinavia and want an MVP on the payroll (or happy with a remote worker), give me a job!
|
|
|
|
|
Thanks for your help Iain!
Sorry, I'll explain myself a bit better...
Just like in your last option ,
I want to monitor (get an event) everytime a new print job is being made.
So if I print from notepad or word, I'll get a notification about that print job.
I've also added that my application is a service.
Besides getting a notification about that print job, I would like to cancel it, if there is a need to do so (if there is no banner saying "Fuze" in big green letters ).
thanks again!!!
|
|
|
|
|
This is not something I've ever done, but with a bit of googling, I've found the function InitializePrintMonitor2[^] which may serve your purposes.
It looks like an official hook mechanism into the print spooler. It also looks a bit gnarly to use, but if you're writing services that should be nothing new.
I wish you luck - and I also demand you write an article if you succeed - I think this would be an interesting project!
Iain.
In the process of moving to Sweden for love (awwww).
If you're in Scandinavia and want an MVP on the payroll (or happy with a remote worker), give me a job!
|
|
|
|
|
Thanks!
But, the function is for drivers in Kernel mode - although it might lead to something useful using google...
I sure will write an article on how to get all those pesky notifications that I already found, and those I will find!
Thanks again!
|
|
|
|
|
Recently i have converted my project to support Common Language Runtime Support (/clr).
After this i notice linking takes long time.
Can we reduce this speed issue?
|
|
|
|
|
With immediate effect after you've started using CLR, almost instantly everyone on this forum starts hating you. (OK, may be not everyone, but at least I and CPallini...)
Try the CLI/C++ forum[^]
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
Actually I like very much the CLR.
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]
|
|
|
|
|
I can't declare a function like this:
GraphicsPath GetPath();
It's not convenient, so what is the benifits?
|
|
|
|
|
I imagine it's because GDI classes just wrap a raw handle to the object inside Gdiplus.dll. The constructor creates the handle, and the destructor closes it. As there's no hint of reference counting, copying the classes is just begging for errors.
This protects you.
I've been doing a bunch of GDI+ work recently, and what I did in some code I wrote yesterday was:
BOOL CreateArrowCap (GraphicsPath &path, float fSize)
{
...
}
I used the reference rather than a pointer, as it makes little sense to pass NULL. But it would be valid in other circumstances.
Iain.
In the process of moving to Sweden for love (awwww).
If you're in Scandinavia and want an MVP on the payroll (or happy with a remote worker), give me a job!
|
|
|
|
|
i want to compress some image file created in my project and store it. for future use and whenever its needed unzipped the stored file.
please any one let me know how i will do that and is it microsoft MFC has provide any API for that.
Thanks in advance..
|
|
|
|
|
|
Thank You,
Hamid
That is exactly I am looking for.
Thanks again for your valuable and quick response
Regards,
Ashish
|
|
|
|
|
Plug: You can please, click the "Good Answer" link on his reply to you.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
Ok,
i clicked on the link
Thanks for remind me
|
|
|
|
|
The only thing that I can think of, from Microsoft, on these lines is the CAB SDK[^]. But I see you are wanting to compress image files, so I do not know what good can cab compression do for you.
There is no standard way of creating a zip compressed file using MFC or Windows API. I believe the .NET framework has this feature though. There is also the LZMA SDK[^] which can compress to .7z format, if you'd like it. The compression would be better than zip (and even rar) and the library works like a charm.
Almost all compression utilities can extract from .7z files, so you don't have to possibly worry on the compatibility front too.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
Hi Ashish,
Here you find good library for ZIP/UnZIP uitility.
It is just .cpp & .h files for ZIP & UnZIP utility.
This library is used in any c++ compiler (g++ linux, VC++ eVC++).
Do not trust a computer...
Always check what computer is doing
regards,
Divyang Mithaiwala
Software Engineer
|
|
|
|
|
I am trying to cast an int pointer to double pointer, but conversion doesn´t work. I´ve tried c style casting and reinterpret_cast without success. Can anyone help me, please? For instance, how can I make ths work fine:
int a[]={1,2,3,4};
int* b;
double* c;
b=a;
c=(double*)b;
Thanks
|
|
|
|
|
Jorge wrote: how can I make ths work fine:
What does it mean, in your opinion?
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]
|
|
|
|
|
I am not sure what you mean.
|
|
|
|
|
The code is working fine, anyway it is not performing a conversion, it is interpreting the raw bits as a double.
You have the following string of bits (only the first two ints of the array matters):
1 2
00000000 00000000 00000000 00000001 00000000 00000000 00000000 00000010
as a double it is
00000000 00000000 00000000 00000001 00000000 00000000 00000000 00000010
^
0 as sign (first bit on the left), i.e. positive number
00000000 00000000 00000000 00000001 00000000 00000000 00000000 00000010
^---------^
0 as exponent with in excess -1023 representation represents denormals when fraction is <> 0
(as in your case).
00000000 00000000 00000000 00000001 00000000 00000000 00000000 00000010
^---------------------------------------------------------^
2^-20 + 2^-51 = 9,5367431685033920985006261616945e-7 as fraction
That gives, for a denormalized number
fraction * 2^-1021 = 4,2439915839068072135877506064327e-314
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]
|
|
|
|
|
Good stuff man, my 5.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
Thanks, anyway I'm quite sure there's some mistakes here and there...
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]
|
|
|
|
|
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|