Click here to Skip to main content
15,936,466 members

CodeProject FAQ

Frequently Asked Questions
The Newsletter
Your Account
Content Moderation
The WYSIWYG editors

Frequently Asked Questions

What is CodeProject?

CodeProject is a community of Software developers who have come together to share source code, articles and tutorials. We have some of the brightest minds in the community gathered together to form the most informative and entertaining developer Website on the net. CodeProject features active discussions, user polls, interviews, news, gossip and tons of new articles every week.

To complement the lively community atmosphere, we have a collection of thousands of articles, tutorials, components and source code snippets contributed by developers from all over the world. Everything on the site may be freely used. All we ask in return is that you contribute something back to the community.

CodeProject: Your Development Resource.

CodeProject Membership

Signing up to CodeProject allows you to post articles, participate in the Lounge, receive the newsletters and download code samples.

  1. Why should I sign up?

    Signing up allows you to:

    • Download ZIP files associated with articles
    • Post messages in Discussion Boards
    • Get a weekly update of new articles posted
    • Submit articles to automatically enter our monthly competitions
    • Bookmark your favourite articles
    • Participate in our surveys
    • Have your own page in the Who's Who list.
    • Have your name, email and signature pre-filled in the discussion board posting pages

    You can still read all articles and discussion boards without registering.

  2. Is it free?


  3. How do I sign up?

    You can join here.

  4. I forgot my password (or never entered one in the first place).

    Click here to retrieve your password. Remember to use the correct box for your email or name; you can use one or the other to retrieve your password.

  5. I tried to retrieve my password, but it never arrived. Why?


    1. Your email server is having issues.
    2. Your inbox is full or restricted in some way.
    3. Your mail server may have blacklisted us. Please check ask your admin to unblock us.
    4. The email address you are using to sign-in is no longer active.
    5. Your email server or client is rejecting CodeProject email because it thinks the password notice is spam.
    6. You are using an email system that requires the sender to confirm an email that has been sent. We cannot manually confirm emails due to the volume of emails we send. Please disable these systems if you wish to get notifications from CodeProject.
    7. There is a network issue somewhere between your server and our server.

    Also see The Newsletter and Emails from CodeProject.

  6. I can't sign in. Help!

    There are a few things you need to check:

    1. Have you signed up? If you get the weekly newsletter, then you have an account with us.
    2. You need to log on (secure logon) using your email address, not your name.
    3. Do you have your password? If not, then click here to retrieve your password. If you get the newsletter, then make sure you enter the email address that the newsletter is sent to.
    4. Did you make a spelling mistake when you signed up, or when you tried to sign in?
    5. Have you got cookies enabled? Before you say 'Yes' check that you haven't inadvertently blocked them for CodeProject specifically or added CodeProject to your restricted sites list in Internet Explorer. We take care to protect your information and your privacy so rest assured we will not abuse the privilege of cookies on your system. You can test for cookies here
    6. Are you using ad-removing software such as WebWasher? This can sometimes cause downloads to fail by blocking cookies.
    7. Do you have an anonymizing firewall or gateway? If so then that may be interfering with your login.
    8. Try clearing your cookies. For some people this has helped.

    Some members have reported that when they reset Internet Explorer's security settings back to Default their problems are solved. If you receive errors or are still unable to logon, then please contact us.

  7. I can sign in but I can't download articles. Help!

    Here are some things to check:

    1. Are your signed in? If not, then check the points above.
    2. Do you have cookies enabled? Cookies must be enabled for downloads to work. Test for cookies here
    3. Is page caching causing a problem? Go back to the article and hit Ctrl+F5 to force a refresh then try again.
    4. Are you using ad-removing software such as WebWasher? This can sometimes cause downloads to fail.
    5. Have you inadvertantly added to your 'Restricted sites' list in IE? Go to Internet Options / Security / Restricted Sites. Alternatively you can add CodeProject to your Trusted Sites list to ensure cookies aren't blocked.
    6. Have you checked your Privacy settings in IE? Go to Internet Options / Privacy and ensure cookies are enabled. If you only wish to enable cookies for CodeProject then hit the 'Edit' button in the 'Web Sites' section of the Privacy Tab and add You should also check that hasn't been added to the blocked list!
    7. Are you using a download manager to download files? These can sometimes strip out cookies needed to identify you as a logged on member. Try downloading without a download manager.
    8. Check that your company's firewall or gateway does not block cookies.
    9. Do you have an anonymizing firewall or gateway? If so then that may be interfering with your login.

    Again, some members have reported that when they reset Internet Explorer's security settings back to Default their problems are solved. If you receive errors or are still unable to login then please contact us.

  8. Do I have to create a new account to use CodeProject, or sign in to my existing account?

    You can read all articles without signing in, but you must be signed in to download zip files and participate in the discussion boards.

  9. How do I unsubscribe from the newsletter?

    Simply sign in and click on "My Settings" (top left of the homepage). There you can change your newsletter preferences.

  10. How do I sign in to CodeProject?

    Enter your logon email address and password in the logon form (top left of the main page) and click "Sign in."

  11. I signed up with email address "" and username "Joe Programmer," but when I sign in using "Joe Programmer," it says it can't find my account.

    Please sign in using your email address, not your name.

  12. I signed up, but have since changed email addresses (or no longer wish to get the newsletter). Help.

    Sign into your account and click on "My Settings" under the Options menu. There you can change you email address or suspend your newsletter.

The Newsletter and Emails from CodeProject

Emails are only sent to members who have signed up and chosen to receive our newsletters and offers, and who have confirmed their email address. We never give out, sell or loan email addresses.

  1. Why am I not receiving the newsletter?


    1. Sign in and click on 'My Settings' (top right on the homepage). Are you subscribed to the newsletter?
    2. Have you confirmed your email address? A confirmation email is sent when you sign up or you can click here to have a new one sent.
    3. Is your inbox is full or restricted in some way?
    4. Your mailserver may have blacklisted us or we could have been placed on spam lists. Please check ask your administrator to unblock us. Sometimes this can occur when members in your organisation decide that it's easier to ask the administrator to block CodeProject instead of unsubscribing themselves from the newsletter.
    5. Have you inadvertantly flagged CodeProject as a Junk mail sender in Outlook? You can add to your exception list to stop newsletters being flagged as spam.
    6. Is the email address you are using to sign-in still active? Have you changed email addresses and forgotten to update your profile?
    7. You are using an email system that requires the sender to confirm an email that has been sent. We cannot manually confirm emails automatically sent due to the volume of emails sent. Please disable these systems if you wish to get notifications from CodeProject.
    8. There is a network issue somewhere between your server and our server.

  2. I signed up and am now getting spam at the address I signed up with. Why??

    We do not give out our sell email addresses. We hate spam probably even more than you do. Spammers use many techniques including brute force and dictionary attacks to find email addresses. Many, many people use "codeproject@..." email addresses and these have become easy prey for spammers. Our recommendation is to use a username other than "codeproject" for your email accounts.

  3. How do I unsubscribe from the newsletter?

    Simply sign in and click on 'My Settings' (top right on the homepage). There you can change your newsletter preferences.

  4. How do I change my email address?

    Simply sign in and click on 'My Settings' (top right on the homepage). There you can change your newsletter preferences.

  5. I am getting lots of spam. Why?

    We do not, never have, and never will distribute email addresses of our members. We hate spam as much, if not more, than you and do everything we can to protect members' email address.

    Some members create a new email address specifically for CodeProject, sign up, then find themselves the target of spam. The spam does not come from us nor have we distributed your address. Some common reasons why you are getting spam are:

    • your "new" email address was used by someone previously who was targeted for spam
    • your email address was harvested from a webpage, discussion board, a virus on your computer, a hoax email or one of the many nefarious means they use to get your address
    • the email address was found by spammers using brute force spam attack. This method sends mass mailings to your ISP with millions of possible address names searching for accounts that are active. The attacks are automated so even bizarre spellings may not protect you.

    There are many other ways in which spammers can get access to your email address. This article has some more background.

Do you use a Spam Filter?

Many Spam Filters can filter legitimate emails. If you are using spam filters for the email address that you entered in CodeProject signup form, please make sure to whitelist our domain so that important email about your account will not end up in your Junk/Bulk Folders.

Here are instructions on how to whitelist for some email clients and services.

Outlook 2003

  • In the main Outlook window Go to: Actions > Junk E-Mail > Junk E-Mail Options
  • Click the "Safe Senders" Tab and then click "Add"
  • Enter "" and click OK, then OK again.


Hotmail spam filters can filter out email sent fromCodeProject if the security level is set high. Email in the Hotmail junk folder are typically removed after 5 days so it is possible for you to miss email sent from CodeProject.

In order to avoid missing any emails sent by CodeProject take the following steps:

  • Go to: Mail Options >> Junk E-Mail Protection >> Safe List
  • Add to this list:


Yahoo spam filters can filter out email sent from CodeProject if the security level is set high.

Email in the Yahoo Bulk Mail folder are typically removed after 1 month, 2 weeks, or 1 week, depending on your setting. Therefore, it is possible for you to miss email sent from CodeProject.

In order to avoid missing any emails sent by CodeProject, take the following steps:

  • Go to: Mail Options >> Filters
  • Click on: Add
    • For the filter name, use any name you want: CodeProject (recommended)
    • From Header: Contains (select in dropdown) : (input in text field)
    • Then: Inbox (recommended)


  1. How do I submit an article?

    The fastest way is through the Submission Wizard. This is a simple wizard that will guide you through the posting process. All you need is some basic knowledge of HTML. Alternatively, you can send your article to us directly.

    If you use the submission wizard, then your article will remain in the "Unedited Articles" section until we get a chance to check it and move it into the main sections.

  2. How do I update my article?

    If you used the submission wizard and your article has not yet been moved, then you can click on the "Modify this article" link just under the title of the article. If the article has been moved or was posted by us directly, then the best thing to do is take the HTML from your article's page on CodeProject, make your modifications to that and send it to us along with any ZIP files or images. We'll then update it for you. Don't worry about colourising your code snippets. Our scripts do that all for you.

  3. Can I use code snippets and programs in my own work?

    Yes. Some authors may have specific restrictions on using code in commercial apps, such as providing credit in documentation or sending them an email first, but all code can be used for free.

  4. Voting on Articles - how does this work?

    The voting system for articles is meant to guide readers to the best articles and advise authors on where they need improvement. If you place a low vote you will be asked to include a comment on why you are giving the author that vote. A vote with no message doesn't help an author. A vote and a 'this is why I voted bad' helps an author improve. A high vote is just a "Thanks - well done!" and doesn't really require a comment suggesting improvements.

    Votes are tied to messages. If a voter votes low and leaves a spurious comment (eg. 'asdf') then other members can report that comment as inappropriate and the comment and the vote will be removed.

  5. How are ratings calculated?

    Articles, messages and many other items on CodeProject have associated with them a Vote Total (Vt), a Weight Total (Wt), and a number of votes (N). When a member votes, the system adds the weight of their vote (dependant on membership level) to Wt, and the rating itself multiplied by their weight to Vt. The rating of an item is then R = Vt / Wt.

    If everyone has a weight of 1 then Wt = N, and R = Vt / N. Having differing weights, though, means that when a gold member (weight = 4) and bronze member (weight = 1) vote, the vote is weighted towards the gold:

    Assume Gold votes 5 and Bronze votes 1:

    Wt = 4 + 1 = 5
    Vt = 4 x 5 + 1 x 1 = 21
    R = 4.2

    For a ridiculously indepth analysis please read Is CodeProject's Voting system really smart?

Your Account

When you sign up for the newsletter, you automatically get a user account on This account allows you to customize your settings, such as:

  • Your newsletter subscription. Turn it on, off or change your email address.
  • Your discussion board name and signature. You can add a signature that will be automatically added to your discussion board posts, as well as change the name and email address attached to your posts. Logging on also makes posting easy, as many of the fields in the message posting screens will be pre-filled with your information.
  • Your About You section. If you've posted an article to CodeProject, then set up your account with the same name under which you posted the article. Your biography will appear automatically at the end of each article you post.
  • Bookmarking your favorite articles. Your account allows you to bookmark your favorite articles with a single click.


Member Accounts can be a normal member account (the standard) or a shared Group account. A group account is like any other account except that it allows you to have other members 'belong' to that group account and perform actions on behalf of the group.

For example, you can create a new group for your company or organisation and post Jobs or Catalog items on behalf of your company. The new items posted will be under your company's name, not your name. Other site members in your company can then join this Group Account you created and continue to post and edit items using the company group account you created.

How do I create a group?

Simply go to your settings page and click the 'My Groups' tab to create a new group. Fill in the details and hit 'Create Group' and you're done. See the screenshot below.

Creating a new group

Once you have created a group you will be the administrator for that group. Go back to the 'My Groups' tab in your settings page and you will see a link to your new company. Send this link to those you wish to join your group. When they visit the group's profile page they will be given the option to join your group.

Joining a group

Once someone has applied to join your group you will see an 'Applications' tab appear on your member settings page. This will provide access to the list of members who have applied for your group. Simply set their status (accepted, rejected etc) and authority level and hit 'Update' and you are done.

Members who have joined a group can have the following permission levels:

Has full control of the group and can control membership to the group.
Can manage material (and make purchases) on behalf of the group, and can change the settings on a group account.
Can post material on behalf of the group.
Can read internal material within the group. This is the 'general' group member and provides members with the ability to view material posted on behalf of the group that general members can't view, such as pending articles, unpaid job postings, and messages on private message boards (coming soon!)

A group account can be of the following types

A business, professional or non-profit group.
Collaborative Group
a group structure for those who want to work on stuff together
Social Group
a general 'we want to be associated together' group

You can change your standard member account into a group account on the 'My Settings' page under 'Basic Settings'. Once you have done this other members will see a button on your profile page that will allow them to apply to be a member of your group. You can accept/reject requests by logging in to the group account and visiting the 'Applications' tab.

Content Moderation

Certain user-submitted content on the site is subject to moderation. The purpose of moderation is to stop the publication of obviously inappropriate material, plagiarised content or content that is not of sufficient quality to be published at that point.

Moderation is available to members who have contributed enough to the community that the system considers them a good judge of what is and isn't acceptable. If you suddenly find moderation buttons available to you then thank you - you've done a lot for the community and we would now like to give you the opportunity to do even more.

If an author has genuinely tried to provide a decent material, even if they may need some encouraging to improve it, then the item should be approved by moderators.

The WYSIWYG editors

On many pages there is the option to post and edit content using our Javascript based WYSIWYG editor. This editor works essentially in the same way when used with different browsers, but has a few tricks that may help you post articles and messages.

Syntax Colourisation

All blocks of code should be enclosed in <PRE> tags by selecting the code and choosing "Formatted" from the --format-- dropdown. Once you have placed your code in a Formatted code block you can then choose the language for that code block by using the --language-- dropdown: click inside the code block, select the language and you're done.

This code colourisation can also be done when posting messages in the forums. The forums do not use the WYSIWYG editor but they do support HTML, so to add colourisation you would wrap your code in a <PRE> block manually, and specify a 'Lang' attribute in the <pre> tag. eg:

<pre lang="C#">int myVar = 0;</pre>

The currently supported languages are:

  • Plain Text (lang="text")
  • ASP.NET (lang="aspnet")
  • BAT (lang="bat")
  • C# (lang="C#")
  • C++ (lang="C++")
  • C++/CLI (lang="mc++")
  • CSS (lang="css")
  • Delphi (lang="delphi")
  • F# (lang="F#")
  • HTML (lang="html")
  • Java (lang="java")
  • Javascript (lang="jscript")
  • MASM / ASM (lang="asm")
  • MSIL (lang="msil")
  • MIDL (lang="midl")
  • PHP (lang="php")
  • SQL (lang="SQL")
  • VB.NET (lang="vbnet")
  • VBScript (lang="vbscript")
  • XML (lang="xml")

Highlighting code

We also support highlighting within code blocks using two special CSS classes: emphasis and highlight. To use them, wrap the areas of code within a span tag with the class you need:

<pre lang="cs">// This is an important variable name
int <span class="highlight">myVar</span> = 0;

Will look like

// This is an important variable name
int myVar = 0;

Acceptable HTML

We accept most HTML in articles and forum messages except for those tags and styles that will potentially cause visual issues (plaintext, some sizing styles etc) or are security issues (object and script tags).