Console App Display DLL logging info

Hello

I've got a C# console app, that calls a startup function in a C# dll that I 
have created.  In my DLL, as I'm processing data, I want to display some 
logging information, but I want to pass it back to the console app, and have 
it write the text to the console as it comes from the DLL, but I'm not sure 
how I should do this....

Any suggestions, example


Thanks 


0
Bill
7/1/2010 4:49:48 PM
dotnet.languages.csharp 1931 articles. 0 followers. Follow

12 Replies
1839 Views

Similar Articles

[PageSpeed] 6

Bill wrote:
> Hello
> 
> I've got a C# console app, that calls a startup function in a C# dll that I 
> have created.  In my DLL, as I'm processing data, I want to display some 
> logging information, but I want to pass it back to the console app, and have 
> it write the text to the console as it comes from the DLL, but I'm not sure 
> how I should do this....

Do you want to pass it back to the console application?  Or do you want 
the text to show up in the console?  If you are passing the text to the 
application, you cannot enforce any rule that it has to then show the 
text in the console.  On the other hand, if you always want the text to 
go to the console, you can just call the Console.WriteLine() method 
directly (or similar).

My preference would be for a DLL to not be printing stuff to the console 
unless that's specifically the point of the DLL.  If you have a more 
general desire to provide a mechanism for logging/diagnostic information 
to flow from the DLL, it would be better to have the client code (the 
application itself) pass an instance of TextWriter to the DLL, which the 
DLL can then use to write output.

If the client code wants console output, it can just pass the value of 
Console.Out.  Otherwise, it can provide its own TextWriter and consume 
the output however it wants.

Pete
0
Peter
7/1/2010 5:22:12 PM
The DLL, isn't going to actually do the printing to a console window, 
instead it should pass text strings back to the calling app, and then the 
calling app would print the string to the console window.


"Peter Duniho" <NpOeStPeAdM@NnOwSlPiAnMk.com> wrote in message 
news:oYKdnQlsXvZYU7HRnZ2dnUVZ_o-dnZ2d@posted.palinacquisition...
> Bill wrote:
>> Hello
>>
>> I've got a C# console app, that calls a startup function in a C# dll that 
>> I have created.  In my DLL, as I'm processing data, I want to display 
>> some logging information, but I want to pass it back to the console app, 
>> and have it write the text to the console as it comes from the DLL, but 
>> I'm not sure how I should do this....
>
> Do you want to pass it back to the console application?  Or do you want 
> the text to show up in the console?  If you are passing the text to the 
> application, you cannot enforce any rule that it has to then show the text 
> in the console.  On the other hand, if you always want the text to go to 
> the console, you can just call the Console.WriteLine() method directly (or 
> similar).
>
> My preference would be for a DLL to not be printing stuff to the console 
> unless that's specifically the point of the DLL.  If you have a more 
> general desire to provide a mechanism for logging/diagnostic information 
> to flow from the DLL, it would be better to have the client code (the 
> application itself) pass an instance of TextWriter to the DLL, which the 
> DLL can then use to write output.
>
> If the client code wants console output, it can just pass the value of 
> Console.Out.  Otherwise, it can provide its own TextWriter and consume the 
> output however it wants.
>
> Pete 


0
Bill
7/1/2010 5:29:58 PM
Bill wrote:
> The DLL, isn't going to actually do the printing to a console window, 
> instead it should pass text strings back to the calling app, and then the 
> calling app would print the string to the console window.

Then just have the calling app pass a TextWriter instance.  If the 
calling app wants the text to go to the console, they can just pass the 
value of Console.Out, as I mentioned before.

Pete
0
Peter
7/1/2010 6:15:03 PM
Bill wrote:
> Hello
> 
> I've got a C# console app, that calls a startup function in a C# dll that I 
> have created.  In my DLL, as I'm processing data, I want to display some 
> logging information, but I want to pass it back to the console app, and have 
> it write the text to the console as it comes from the DLL, but I'm not sure 
> how I should do this....
> 
> Any suggestions, example
> 
> 
> Thanks 
> 
> 

You're easiest option would be to make a public object with get/set for 
string value and pass the object between the console app and the dll. 
You would instantiate the object in the console app and send it (by ref) 
to the dll.

You come out of the dll back to the console app and print what's in the 
object's string property.
0
Mr
7/1/2010 6:33:56 PM
Mr. Arnold wrote:
> Bill wrote:
>> Hello
>>
>> I've got a C# console app, that calls a startup function in a C# dll 
>> that I have created.  In my DLL, as I'm processing data, I want to 
>> display some logging information, but I want to pass it back to the 
>> console app, and have it write the text to the console as it comes 
>> from the DLL, but I'm not sure how I should do this....
> 
> You're easiest option would be to make a public object with get/set for 
> string value and pass the object between the console app and the dll. 
> You would instantiate the object in the console app and send it (by ref) 
> to the dll.
> 
> You come out of the dll back to the console app and print what's in the 
> object's string property.

Assuming the use scenario is exactly as above (object is simply a 
container for a string object), how is that better than simply returning 
a string object from a method?  Or passing a string variable 
by-reference (i.e. with "out")?

I take the original question as wanting something more dynamic.  That 
is, not just a simple transactional "DLL does X, client code than gets 
string it prints", but rather a more general mechanism by which the DLL 
can arbitrarily send strings back to the client code.

But if the OP is looking for a transactional approach, wrapping a string 
in an object when a simple method return value or by-reference argument 
would do seems like overkill to me.

Pete
0
Peter
7/1/2010 7:28:48 PM
I just setup a delegate in my DLL, then in my calling console app, I create 
an instance of the delgete, and pass that into the constructor of the class 
in the DLL, and assign it to a this.del where del is of delegate type.

In my console application I've got a function that prints out the strings.

Not sure if it is the best way to go, but it works

"Peter Duniho" <NpOeStPeAdM@NnOwSlPiAnMk.com> wrote in message 
news:0ZqdnTvGlcftcbHRnZ2dnUVZ_vqdnZ2d@posted.palinacquisition...
> Mr. Arnold wrote:
>> Bill wrote:
>>> Hello
>>>
>>> I've got a C# console app, that calls a startup function in a C# dll 
>>> that I have created.  In my DLL, as I'm processing data, I want to 
>>> display some logging information, but I want to pass it back to the 
>>> console app, and have it write the text to the console as it comes from 
>>> the DLL, but I'm not sure how I should do this....
>>
>> You're easiest option would be to make a public object with get/set for 
>> string value and pass the object between the console app and the dll. You 
>> would instantiate the object in the console app and send it (by ref) to 
>> the dll.
>>
>> You come out of the dll back to the console app and print what's in the 
>> object's string property.
>
> Assuming the use scenario is exactly as above (object is simply a 
> container for a string object), how is that better than simply returning a 
> string object from a method?  Or passing a string variable by-reference 
> (i.e. with "out")?
>
> I take the original question as wanting something more dynamic.  That is, 
> not just a simple transactional "DLL does X, client code than gets string 
> it prints", but rather a more general mechanism by which the DLL can 
> arbitrarily send strings back to the client code.
>
> But if the OP is looking for a transactional approach, wrapping a string 
> in an object when a simple method return value or by-reference argument 
> would do seems like overkill to me.
>
> Pete 


0
Bill
7/1/2010 8:53:32 PM
Bill wrote:
> I just setup a delegate in my DLL, then in my calling console app, I create 
> an instance of the delgete, and pass that into the constructor of the class 
> in the DLL, and assign it to a this.del where del is of delegate type.
> 
> In my console application I've got a function that prints out the strings.
> 
> Not sure if it is the best way to go, but it works

If you expect the common use case to be the client code calling 
Console.WriteLine(), then the approach I suggested is simpler and more 
appropriate.

But a callback mechanism is fine too, and may be more appropriate if a) 
your DLL always is returning individual strings, one at a time, without 
regard to console formatting, and b) you expect to have to use this 
implementation outside the context of the Console class on a regular basis.

Pete
0
Peter
7/1/2010 9:09:09 PM
Bill wrote:
> I just setup a delegate in my DLL, then in my calling console app, I create 
> an instance of the delgete, and pass that into the constructor of the class 
> in the DLL, and assign it to a this.del where del is of delegate type.
> 
> In my console application I've got a function that prints out the strings.
> 
> Not sure if it is the best way to go, but it works
> 
> "Peter Duniho" <NpOeStPeAdM@NnOwSlPiAnMk.com> wrote in message 
> news:0ZqdnTvGlcftcbHRnZ2dnUVZ_vqdnZ2d@posted.palinacquisition...
>> Mr. Arnold wrote:
>>> Bill wrote:
>>>> Hello
>>>>
>>>> I've got a C# console app, that calls a startup function in a C# dll 
>>>> that I have created.  In my DLL, as I'm processing data, I want to 
>>>> display some logging information, but I want to pass it back to the 
>>>> console app, and have it write the text to the console as it comes from 
>>>> the DLL, but I'm not sure how I should do this....
>>> You're easiest option would be to make a public object with get/set for 
>>> string value and pass the object between the console app and the dll. You 
>>> would instantiate the object in the console app and send it (by ref) to 
>>> the dll.
>>>
>>> You come out of the dll back to the console app and print what's in the 
>>> object's string property.
>> Assuming the use scenario is exactly as above (object is simply a 
>> container for a string object), how is that better than simply returning a 
>> string object from a method?  Or passing a string variable by-reference 
>> (i.e. with "out")?

What -- you think it's about something being better? All I provided was 
a simple solution no more or no less.


I don't need you in my face about it.
0
Mr
7/1/2010 9:12:16 PM
"Bill" <someplace@somewhere.com> wrote in message 
news:Op5z59VGLHA.1996@TK2MSFTNGP06.phx.gbl...
>I just setup a delegate in my DLL, then in my calling console app, I create 
>an instance of the delgete, and pass that into the constructor of the class 
>in the DLL, and assign it to a this.del where del is of delegate type.
>
> In my console application I've got a function that prints out the strings.
>
> Not sure if it is the best way to go, but it works


Oh, my post was not directed it at you. I can't see the other person. I 
don't know why I can't see his posts nor do I care, and that's using two 
readers. 

0
Mr
7/1/2010 9:20:55 PM
Mr. Arnold wrote:
> [...]
>>> Assuming the use scenario is exactly as above (object is simply a 
>>> container for a string object), how is that better than simply 
>>> returning a string object from a method?  Or passing a string 
>>> variable by-reference (i.e. with "out")?
> 
> What -- you think it's about something being better? All I provided was 
> a simple solution no more or no less.
> 
> I don't need you in my face about it.

I'm not in your face.  I'm asking a simple question, with the assumption 
that since you proposed the solution, you may have some valid reason for 
preferring it over some other approach.

I can understand why, if you don't actually have a good answer for the 
question, you might be so embarrassed that you wind up reacting so 
negatively.  But otherwise, you might consider just answering the 
question rather than wandering around with that chip on your shoulder.

As for whether "it's about something being better", well�personally, I 
try my best to provide the _best_ solution, not just _a_ solution.  I 
admit I don't always meet that goal, but I do try, and I'm not offended 
if somehow someone reveals to me, even in an oblique way, that I've failed.

Assuming some solutions are in fact better than others (and they aren't 
always), why not choose the one that's best?  And what's wrong with a 
calm, rational discussion about why one solution might be better than 
another?

Try to not take things so personally.  It's not about you.  It's simply 
about finding the best answers for questions people ask.  If you can't 
let go of your ego long enough to do that, perhaps you should not be 
answering questions.

Pete
0
Peter
7/1/2010 9:48:30 PM
It happens that Bill formulated :
> Hello
>
> I've got a C# console app, that calls a startup function in a C# dll that I 
> have created.  In my DLL, as I'm processing data, I want to display some 
> logging information, but I want to pass it back to the console app, and have 
> it write the text to the console as it comes from the DLL, but I'm not sure 
> how I should do this....
>
> Any suggestions, example
>
>
> Thanks

I would look into Log4Net if I were you.  It lets the application 
control where log messages end up via the config file.  You can also 
have them go to multiple places and set different levels.  It's an 
excelent logging library, IMHO.



-- 
Tom Shelton


0
Tom
7/1/2010 10:32:12 PM
Tom Shelton wrote:
> It happens that Bill formulated :
>> Hello
>>
>> I've got a C# console app, that calls a startup function in a C# dll 
>> that I have created.  In my DLL, as I'm processing data, I want to 
>> display some logging information, but I want to pass it back to the 
>> console app, and have it write the text to the console as it comes 
>> from the DLL, but I'm not sure how I should do this....
>>
>> Any suggestions, example
>>
>>
>> Thanks
> 
> I would look into Log4Net if I were you.  It lets the application 
> control where log messages end up via the config file.  You can also 
> have them go to multiple places and set different levels.  It's an 
> excelent logging library, IMHO.
> 
> 
> 

Enterprise Library has a nice logging application.
0
Mr
7/2/2010 12:19:48 AM
Reply:

Similar Artilces:

Column Chart With Averages Displayed
I'm trying to create a "100% Stacked Column" chart with the Averages for each series added in as a secondary axis. So I'm basically trying to create a combination chart, with primary axis being the 100% Stacked Column chart and the secondary axis being a scatter plot of the average. Anyone have any ideas? Thanks. -- Regards, Dave I'd probably just be content with a line series for the average, and not deal with the different X axis types. Calculate the averages in the worksheet, and add this range to the chart as a new series. Excel will very helpfully add it a...

MFC80.dll redist ?
Hi, I switched my project to visual2005. I moved from mfc71.dll to mfc80.dll My product is installed by a 3rd party installer (inno-setupo), so the installer copy mfc80.dll (and the associated manifest) in the app folder (same for msvcr80.dll). The app is working well, except that 2 errors are logged in the event viewer: Generate Activation Context failed for C:\Program Files\DirectUpdate v4\MFC80.DLL. Reference error message: The referenced assembly is not installed on your system. Generate Activation Context failed for C:\Program Files\DirectUpdate v4\MFC80.DLL. Reference error mess...

Service Pack Info?
Good morning - how do I figure out what Service Pack I am on? I am on the "About Microsoft Dynamics GP" screen and the version number is 10.00.0903 - do any of these numbers indicate what Service Pack I am on? Thank you, Sarah When I was looking through Help, I found the page outlining what the different fields were, but there wasn't enough detail to answer my question. I rated the page and sent the feedback to Microsoft and I just got an answer back: Microsoft Dynamics GP No service pack: 10.00.0774 Service pack 1: 10.00.0903 Service pack 1: 10.00.1061 Service p...

chart of account display issue
I have a couple users who have just started experiencing the following issue. When trying to look up an account while entering journal entries the list will start scrolling continueously. The only way to stop it is to exit the software. Version? SP? I saw this happen in one versioin/rev a couple of years back and a service pack fixed it. -- Richard L. Whaley Author / Consultant / MVP 2006-2008 Documentation for Software Users Get our Free Tips and Tricks Newsletter and check out our books at http://www.AccoladePublications.com "jmclaughlin" wrote: > I have a cou...

Problem parsing log file using switch
Hi Im trying to parse a sequential log file using -switch -file Im building up a variable with all the parameters of an event and then adding the variable to an array once the event end line is reached in the file. However each subsequent event seems to over write the entire list. I step through the code and if i list out the $list variable it just gives me the current values of the $event variable, even before they have been written to $list Any help would be greatly appreciated. Thanks Code: -------------------- $list = @( ) $Event = New-object -TypeName Pscustomob...

Create a COM Object Using VB Dll.
Hi All, Can any body suggest me how to create a COM dll using VB dll. i am having good understanding on COM but i had never worked on a COM. So can any body expalin me how to create a COM object using VB dll. if any body expalin with sample snippets it will be very great help. regards Rasheed. Rasheed wrote: > Hi All, > Can any body suggest me how to create a COM dll using VB dll. i > am having good understanding on COM but i had never worked on a COM. > So can any body expalin me how to create a COM object using VB dll. if > any body expalin with sample snippets it...

racking / Logging User(s) Who Crashed Database
First, I would like to thank everyone in advance for all their posts previously; I've found numerous tips and explanations that has vastly helped me and my database. Thanks so much! :) Secondly, please accept my apologies if I posted this message in the wrong thread; I wasn't sure where the best place to post it so I opted for the best one - General. :) What I'd like to accomplish, and I couldn't find anything in regards to this after a few hours of searching through here, is how to track the user(s) who do not exit properly and crashes the database (I get the error...

Not receiving email minet32.dll error
Running Outlook97 in Windows ME. Not receiving email. Error messsage: MAPISP32 caused an error in MINET32.DLL MAPISP will now close. Tried replacing MINET32.DLL - no luck, same error message. Tried replacing MAPISP32 and re-installing Outlook 97. Still no luck, same error message. Suggestions? ...

MAPI unable to load info
I am not able to start Outlook 2003, This is the message Unable to open your email-folder. AN unexpected error has ocurred. MAPI was ubale to load the inforormation sercide msccon Is this the first time this has happened? "Andy outlook issue" <Andy outlook issue@discussions.microsoft.com> wrote in message news:13D2CC07-C949-4129-83D0-0C4F3C18EDEA@microsoft.com... >I am not able to start Outlook 2003, This is the message > Unable to open your email-folder. AN unexpected error has ocurred. MAPI > was > ubale to load the inforormation sercide msccon ...

Convert EXE to use MFC in a shared DLL
Hi, An existing EXE uses MFC in a Static Library and I would like it to use MFC in a shared DLL instead. On changing the setting to use it in a Shared DLL, it throws up a lot of linker errors like: Launcher error LNK2005: "class CWinApp * __stdcall AfxGetApp(void)" (?AfxGetApp@@YGPAVCWinApp@@XZ) already defined in mfc70ud.lib(MFC70UD.DLL) What other changes do I need to make to support this? I'm using the Multi-threaded DLL vesion of the CRT, if that is of any significance. Thanks, Sucharit ...

Internal Emails to reflect FQDN not Display Name
If I have two users in the same organization and they use Outlook or OWA I need the email to reflect that it came from john@company.com not John Doe. THis is for internal and external mail. Would I make an adjustment with ADSIEdit or elsewhere? Thanks What version of Exchange? -- Ed Crowley MVP - Exchange "Protecting the world from PSTs and brick backups!" "Jack Voth" <JackVoth@discussions.microsoft.com> wrote in message news:8064FE3C-E0FA-4DCE-B836-392666C15282@microsoft.com... > If I have two users in the same organization and they use Outlook or OWA I ...

Can you "sanitize" a Word 2007 doc to eliminate hidden info?
I'd like to know that I'm sending out just the text on the page when I send certain Word docs to others. Password protections that restrict a reader from seeing certain parts of a doc are, at best, weak, when you're sending financial info or invoices (not hard to hack). I'm hoping there's a way to do a Save-As that sanitizes the doc down to just what's visible on the page and guarantees that nothing else in the underlying file goes along. Sending a doc as an image of course accomplishes just what I want, but it makes it inconvenient for the recipient - he...

Opmlog.log
How do I turn this off? -- Shirley Tools->Options->Other->Advanced->General Options. Turn off logging. --� Milly Staples [MVP - Outlook] Post all replies to the group to keep the discussion intact. Due to the (insert latest virus name here) virus, all mail sent to my personal account will be deleted without reading. After furious head scratching, Shirley asked: | How do I turn this off? ...

How do I display an image as the background in CMDIFrameWnd
I have a VC++ MFC 7.1 application and I am looking for a way to display a background image in the application's frame window behind any child windows that may be displayed. It is a CMDIFrameWnd derived class. I have found a couple of examples that are to change the background color in the CMyMDIFrameWnd::OnEraseBkgnd() handler. But it doesn't seem to work. The background color always remains the same. Is there something that I am missing? I am running on Windows XP Professional. -- Thanks, Bruce On Mar 22, 11:53 am, "Bruce" <bwol...@nospam.nospam> wrote: >...

Add-ons in general PDA apps for RMS in particular
Where can I find a listing of VARS who have developed apps for RMS? I am particularly interested in apps for PDA's. Thank you www.rite-enterprises.com/module.htm -- Rick Feuling Retail Information Technology Enterprises (RITE) www.rite-enterprises.com "John Caro" <anonymous@discussions.microsoft.com> wrote in message news:2047101c45973$1ba6e4d0$a601280a@phx.gbl... > Where can I find a listing of VARS who have developed > apps for RMS? I am particularly interested in apps for > PDA's. > Thank you John, My name is Steve Gutierrez and I'm with N...

is dotnet framework 4 compatiable with 3.5 app?
I currently uses 3.5 sp1 with vst 2008, no plan to go to 2010 for at least half a year. However, someone wanted a dump of the crash visual studio 2008 standard and I was not able to get the info they wanted. They suggest if I have dotnet 4 installed I can use another tool to make easier to get the dump they want Should I install .net 4 or that will give me a lot of trouble? On 15-05-2010 01:39, GS wrote: > I currently uses 3.5 sp1 with vst 2008, no plan to go to 2010 for at least > half a year. > > However, someone wanted a dump of the crash visual studio 2008 s...

Second or third instance of MFC app wont run
I have an app where LoadFrame fails when I start about 3 or more instances of it. It fails in the InitInstance function of the app when calling pMainFrame->LoadFrame(IDR_MAINFRAME)) The actual point of failure is a call to ::LoadMenu in CFrameWnd::Create() that returns NULL. GetLastError() returns 0, so no help there. I am using VC++ 6 on Windows XP. It's an MFC app with quite a lot of document templates. It seems to be related to the document templates. If I reduce the the number of calls to AddDocTemplate, then I can open more instances of my program. Why should this be a problem? ...

Display Option Group label name versus value
I created a form with an option group. I later created a report based off of a querie that draws from a table that the form is tied to. My report draws the actual value (1,2,3 or 4) from the table, and not the label name (text) that I want i.e. 1= Freshman 2=Sophomore 3=Junior 4=Senior I want the text to show up in the report - NOT the values. Any help would be appreciated!! Thank you! On Thu, 8 Nov 2007 14:39:02 -0800, pht1991 wrote: > I created a form with an option group. I later created a report based off of > a querie that draws from a table that the fo...

SMTP Queue starts to build when connect using Remote Desktops and "connect to console"?
Here is a wierd one for you. We have recently upgraded to Windows 2003 and Exchange 2003. We started to have problems where all SMTP queues would stop processing and start to build. Stopping and starting the services made no difference. The only thing that would work would be to restart the server. We could not see what was causing this as it was not consistant. We later discovered that an administrator would log onto the server using Remote Desktops from the Windows 2003 support tools using the connect to console option. Once they logged on the server with "connect to console"...

Display -vs- Print Format in Cells
Is is possible to apply different display and print formating criteria to a cell, range of cells or an entire worksheet? For example, when viewing cells, I like to use a full range of colors, but colors don't always print well on a b&w printer. I would like to print WITHOUT colors. I can always manually disable the colors in cells right before printing, but having to do that is annoying. Thanks! Most printers have a "Monochrome" or "Black and White" option somewhere in their setup menus.......might this do it for you? Or, you could always mirror your sheet ...

Excel format display
Does anybody know how to display the keystrokes in Excel to assist in editing? Donna The wording here is a little ambiguous. Could you re-post with a better descriptions? If you want a list of shortcut keys for editing, see Help>Answer Wizard or Index on "shortcut keys". Gord Dibben Excel MVP On Tue, 1 Jun 2004 06:21:03 -0700, "Donna" <anonymous@discussions.microsoft.com> wrote: >Does anybody know how to display the keystrokes in Excel to assist in editing? ...

How do I get entries over 1000 characters to display in a cell?
I'm converting a paper form to an excel version. I need one cell for the user to enter a narrative. I want the printed copy to show the full entry. I think 2000 to 2500 characters is probably long enough for most users. The problem I'm running into is text that stops wrapping after about a 1000 characters. Thanks for any help. Whilst there is the method of inserting ctrl/enter characters to reflec more text you will find the odd user who will demand that 'more characters are displayed. This, of course, also applies to printing. One method is to insert 31 following r...

How do I display unicode characters in a web page using an isapi dll?
I have an ISAPI extension DLL that needs to output unicode data using the WriteClient() function. The unicode characters are not displayed properly. The text that is displayed in the web browser looks like garbage even though viewing the source HTML shows Chinese characters correctly. DWORD WINAPI HttpExtensionProc(EXTENSION_CONTROL_BLOCK *pECB) { DWORD dwLength; std::wstring html; html =3D L"<html><head><meta http-equiv=3D'content-type' content=3D'text/html; charset=3Dutf-8' /></head><body><p>=C6=...

URL.dll ... SHELL32.dll ...
Folks: Sometimes there is the need to customize the look of the icons on my desktop. The default file is URL.DLL and is located in the "system32" folder. URL.dll contains a mere 4 different looking icons. SHELL32.dll goes a bit further and provided a few dozen choices for how a desktop con looks. * Is there any other files (DLL of other) that I can use to customize (change the look of) the icons on my desktop ? Thanks, JoJo. try those in *C:\Windows\System32\moricons.dll* You can also download free icons from the web at: http://www.iconarchive.com/ ...

XP Forgets Display Settings After Restart
Hi, I have dual displays at my computer and it has recently started "forgetting" the display settings after I restart. Upon restarting once, only one monitor will come up with a signal and I can't get it to output to the other monitor. If I restart a second time, both monitors will have a signal but it has the wrong montior set up as the primary monitor. What is supposed to be my second monitor (the one w/ my desktop extended onto it) has my desktop icons and an extra toolbar that I use. It's also oriented on the wrong side of what is supposed to be my primary ...