• 0

Windows 7 Taskbar Progress Bar with C# and .NET


Question

Hey guys,

I've created a control that allows you to easily add the Windows 7 taskbar progress bars to .NET programs. It's all in my blog post "Windows 7 Taskbar Progress Bar with C# and .NET".

Here's the progress bar being used with wyBuild creating update patches for Nero:

post-44539-1248752693.png

Here's the progress bar being used with wyUpdate installing an update:

post-44539-1248752792.png

Also, the progress bar is completely backwards compatible:

post-44539-1248752818_thumb.png

I didn't want this post to sound too spammy, but I figured there are lots of .NET programmers on this board that might like this and there are no adverts on my blog. Also the component is completely open source (C#) with example projects in both C# and VB.NET.

Here's my article: Windows 7 Taskbar Progress Bar with C# and .NET

Tell me what you guys think.

22 answers to this question

Recommended Posts

  • 0
  todd said:
It looks great. Thanks for this! What controls are you using in this screenshot? Are they all private or publicly available?

Most of the controls are privately developed by my company, but some will be released in the near future. The only controls in the screenshot that are open source are VistaMenu and the Windows 7 Progress Bar.

I plan on releasing the tab bar on my blog in the coming months.

  • 0

If someone could do such for Firefox's Download Manager and DownThemAll! I would appreciate it greatly. The green would be normal downloading, marquee being scanning for viruses, yellow for pause, and red for failure. DTA would be the same except the marquee would be used for when it merges the pieces. Catch my drift?

  • 0
  Shunik Jan said:
If someone could do such for Firefox's Download Manager and DownThemAll! I would appreciate it greatly. The green would be normal downloading, marquee being scanning for viruses, yellow for pause, and red for failure. DTA would be the same except the marquee would be used for when it merges the pieces. Catch my drift?

Quite honestly, this will likely be done in C++ not C#. Also, the Mozilla devs aren't prowling the neowin programming forum. You'd be better off submitting a feature request directly to Mozilla.

At the very least you could mention it over at the Firefox forum: http://forums.mozillazine.org/viewforum.php?f=23

  • 0
  Vorenus said:
Quite honestly, this will likely be done in C++ not C#. Also, the Mozilla devs aren't prowling the neowin programming forum. You'd be better off submitting a feature request directly to Mozilla.

Should be submitted to Bugzilla, but I suspect that there is already an item there because I know this is one of the things on the to-do list.

In Mozilla, this has to be done in C++ and interfaced through XPCOM; should be a fairly simple and mostly trivial thing to do, actually. Once there is an interface for this in XPCOM, both the Firefox UI (as well as any extension) would be able to make use of it.

  • 0
  code.kliu.org said:
Should be submitted to Bugzilla, but I suspect that there is already an item there because I know this is one of the things on the to-do list.

In Mozilla, this has to be done in C++ and interfaced through XPCOM; should be a fairly simple and mostly trivial thing to do, actually. Once there is an interface for this in XPCOM, both the Firefox UI (as well as any extension) would be able to make use of it.

I think i heard Mozilla intending to remove XPCOM in the near future

  • 0

I agree - this is a very nice feature.

Hmm what about a blue color along with the red, green, and yellow? Then it'd fit so nicely with the Windows flag logo.

  • 0
  skynetXrules said:
I think i heard Mozilla intending to remove XPCOM in the near future

No. That was never in the plans, and wouldn't be possible because XPCOM (through XPConnect) is how JavaScript (which drives the UI) is able to access the low-level C++ Gecko internals. There has to be some sort of interface, and XPCOM actually makes quite a lot of sense here. What is being done is "deCOMtamination", which is the process by which some internal-use classes that don't need to be (and never should have been) exposed as an API are being converted from COM into regular C++ classes.

  MtDewCodeRedFreak said:
Hmm what about a blue color along with the red, green, and yellow? Then it'd fit so nicely with the Windows flag logo.

You can't specify the color. You can only specify a state, and Windows picks the color for you. It's not "here is a yellow bar that you can use if you want to indicate pause". It's "you can indicate to the system that the bar is paused, and Windows will set the color and animation appropriately, which, in this case, is yellow" (and it's not just a color change; that shiny strobe thingie will stop animating as well if you pause).

  • 0
  code.kliu.org said:
No. That was never in the plans, and wouldn't be possible because XPCOM (through XPConnect) is how JavaScript (which drives the UI) is able to access the low-level C++ Gecko internals. There has to be some sort of interface, and XPCOM actually makes quite a lot of sense here. What is being done is "deCOMtamination", which is the process by which some internal-use classes that don't need to be (and never should have been) exposed as an API are being converted from COM into regular C++ classes.

he read it here http://en.wikipedia.org/wiki/Firefox_3.6#Version_4.0

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Wouldn’t it be better to disable global c states to improve latency at the cost of marginally higher heat and power usage?
    • I recently bought a brand new Intel 200 series laptop with 16GB, 512GB NVME (now 2TB) with 14 inch OLED screen for $450. Not the fastest laptop in the world, but the screen is great and laptop is small, just what I needed.
    • They forgot to include this slide: "If I get a Mac I won't be able to play games, therefore I will have more time for my studies."
    • It’s not desperation, it’s marketing. Companies do that…
    • Some AMD Ryzen users can get free Windows performance boost with this simple system tweak by Sayan Sen AMD understands that there is a lot of demand for its X3D processors and for good reason too, since they offer some of the best gaming experiences. As such, the company plans to launch a new 6-core Ryzen 5 9600X3D for those who may not want to spend top dollar on a 9800X3D. What makes X3D special is the densely packed last level cache (LLC) wherein the L3 (level 3) cache is 3D die-stacked such that there is a whole lot of it that the cores can access on demand all within the smallest footprint. This is said to help with latency especially, and games happen to be quite sensitive to it since they are a mixed workload and so there is a lot of to-and-fro. However, despite that fact, users have noticed micro-stuttering and freezes on Ryzen X3D CPUs. Although there is no official fix, some of the affected users have managed to resolve the issues by tweaking a motherboard setting. The tweak is related to a setting called "GLOBAL C-STATE CONTROL" (it may be called something else by your motherboard vendor) and changing it to 'Enabled' from 'Auto' could fix stuttering and lag-related issues in games. If you are not familiar with them, Processor Power Management is done through Advanced Configuration and Power Interface (ACPI) P-states or C-states. While P-states or performance states handle CPU voltage-frequency scaling, C-states deal with CPU sleep states so that some of the CPU functions, which are not necessary at that moment, are disabled. The P-states and C-states work together to make the processor run more efficiently. It helps the OS and apps determine which cores can be parked. The Global C-state control setting helps users manage not only the DF and CPU core C-states but also the I/O C-states too. For those wondering, DF here refers to Data Fabric or AMD's high bandwidth Infinity Fabric interconnect between CPUs, GPUs, and more, on AMD systems. By default, this is set to "Auto" which also means that it is "Enabled" by default. However, in the case of X3D parts, Auto may set this setting to "Disabled" and thus manually toggling it to "Enabled" may be necessary. X3D processors, the dual CCD (core complex die) ones especially, have their V-cache on a single CCD. If the CPPC (Collaborative Processor Performance Control), which lets an OS like Windows control the "preferred core" and clock speed boost, isn't working optimally to assign the correct gaming CCD, then this fix could well work. Global C-State Auto: Global C-State Enabled: We ran a benchmark on our Ryzen 9 9950X3D to see if toggling the settings would make a difference, and well, it didn't in the case of AIDA64. However, since this is a synthetic test that measures cache and memory exclusively, we can't definitively conclude that the fix will also not make a difference in the case of games. Another remedy for stuttering is to disable the monitoring of the "Power percent" metric on MSI Afterburner if you have it on. This has been a long-known issue and in fact can help you even if you are not using an X3D CPU. Source: Reddit (link1, link2) via YouTube
  • Recent Achievements

    • One Month Later
      DecaffKnight94 earned a badge
      One Month Later
    • Dedicated
      S.P earned a badge
      Dedicated
    • One Month Later
      adxnksd42031 earned a badge
      One Month Later
    • Rising Star
      aphanic went up a rank
      Rising Star
    • Contributor
      GravityDead went up a rank
      Contributor
  • Popular Contributors

    1. 1
      +primortal
      663
    2. 2
      ATLien_0
      261
    3. 3
      Michael Scrip
      234
    4. 4
      Steven P.
      157
    5. 5
      +FloatingFatMan
      151
  • Tell a friend

    Love Neowin? Tell a friend!