# ANN: Custom Desktops

**URL:** <https://clarionhub.com/t/ann-custom-desktops/4686>\
**Category:** marketplace\
**Tags:** winapi\
**Created:** [December 14, 2021, 8:54pm UTC](https://clarionhub.com/t/ann-custom-desktops/4686 "2021-12-14T20:54:49Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mike\_Duglas](https://clarionhub.com/user_avatar/clarionhub.com/mike_duglas/32/1061_2.png) [@Mike\_Duglas](https://clarionhub.com/u/Mike_Duglas)\
**Post date:** [December 14, 2021, 8:54pm UTC](https://clarionhub.com/t/ann-custom-desktops/4686/1 "2021-12-14T20:54:49Z")

</div>

# Custom Desktops

Run your app on custom desktop.

> **[GitHub - mikeduglas/Custom-Desktops: Custom Desktops is a template which allows you to...](https://github.com/mikeduglas/Custom-Desktops)**
>
> Custom Desktops is a template which allows you to run the program on independent desktop. A user who is working with the program, has no access to other Windows programs.

### Overview

Custom Desktops is a template which allows you to run the program on independent desktop. A user who is working with the program,  
has no access to other Windows programs. No start menu, no taskbar, no desktop icons - nothing, except your application.  
Just add global extension to your apps, that’s all.

### Examples

Standard People app (examples\people): just run the exe and see how it works.

### Features

- There are no black boxes
- Run on custom desktop any external program, not only yours
- Switch between custom and default desktops

### Requirements

- C6 and newer
- Windows 2000 and newer

### Template chains

- ABC
- Clarion

### Multi-dll support

- Yes

---

<div class="post-metadata">

**Author:** ![jslarve](https://clarionhub.com/letter_avatar_proxy/v4/letter/j/e480ec/32.png) [@jslarve](https://clarionhub.com/u/jslarve)\
**Post date:** [December 15, 2021, 4:50am UTC](https://clarionhub.com/t/ann-custom-desktops/4686/3 "2021-12-15T04:50:01Z")

</div>

Hi Mike - Is it just a template, or class modules added by the template? e.g., handcode friendly? 🙂

---

<div class="post-metadata">

**Author:** ![Mike\_Duglas](https://clarionhub.com/user_avatar/clarionhub.com/mike_duglas/32/1061_2.png) [@Mike\_Duglas](https://clarionhub.com/u/Mike_Duglas)\
**Post date:** [December 15, 2021, 8:08am UTC](https://clarionhub.com/t/ann-custom-desktops/4686/4 "2021-12-15T08:08:05Z")

</div>

It is a template, and a set of classes, and some handcoded test projects.

---

<div class="post-metadata">

**Author:** ![Mike\_Duglas](https://clarionhub.com/user_avatar/clarionhub.com/mike_duglas/32/1061_2.png) [@Mike\_Duglas](https://clarionhub.com/u/Mike_Duglas)\
**Post date:** [December 21, 2021, 7:56pm UTC](https://clarionhub.com/t/ann-custom-desktops/4686/6 "2021-12-21T19:56:29Z")

</div>

[Here](https://www.dropbox.com/sh/fk0r16y7ag9digq/AAD65G1RtyBVQJxDOMh0NfV1a?dl=0) is an example of customizable shell on custom desktop. Download all, go to Shell folder and run CustomShell.exe.

---

<div class="post-metadata">

**Author:** ![CarlosGtrz](https://clarionhub.com/user_avatar/clarionhub.com/carlosgtrz/32/5870_2.png) [@CarlosGtrz](https://clarionhub.com/u/CarlosGtrz)\
**Post date:** [December 21, 2021, 9:13pm UTC](https://clarionhub.com/t/ann-custom-desktops/4686/7 "2021-12-21T21:13:06Z")

</div>

Hi Mike

Very interesting.

This demo shows error:

> Error  
> Can’t start elevated process on custom desktop!

When executed as Administrator. Previous demo ran fine as Administrator.

Is this a configuration option or a technical requirement?

I’m not sure if running as administrator is particularly important, but I recall it was needed sometimes to access hardware (like serial ports) in a POS environment.

---

<div class="post-metadata">

**Author:** ![Mike\_Duglas](https://clarionhub.com/user_avatar/clarionhub.com/mike_duglas/32/1061_2.png) [@Mike\_Duglas](https://clarionhub.com/u/Mike_Duglas)\
**Post date:** [December 21, 2021, 10:09pm UTC](https://clarionhub.com/t/ann-custom-desktops/4686/8 "2021-12-21T22:09:49Z")

</div>

Carlos,

It is a configuration option. At the moment I’m not sure why, but manifested programs with AsInvoker privileges don’t show their windows on custom desktop if ran elevated, so I turned this feature off.

---

<div class="post-metadata">

**Author:** ![MarkGoldberg](https://clarionhub.com/user_avatar/clarionhub.com/markgoldberg/32/1511_2.png) [@MarkGoldberg](https://clarionhub.com/u/MarkGoldberg)\
**Post date:** [December 21, 2021, 11:10pm UTC](https://clarionhub.com/t/ann-custom-desktops/4686/9 "2021-12-21T23:10:15Z")

</div>

Seems similar to gotomeeting (GTM), which can only show UI of elevated processes when GTM is elevated too

---

<div class="post-metadata">

**Author:** ![Mike\_Duglas](https://clarionhub.com/user_avatar/clarionhub.com/mike_duglas/32/1061_2.png) [@Mike\_Duglas](https://clarionhub.com/u/Mike_Duglas)\
**Post date:** [December 23, 2021, 1:37pm UTC](https://clarionhub.com/t/ann-custom-desktops/4686/10 "2021-12-23T13:37:49Z")

</div>

Carlos,

While the shell is running as not elevated, it allows to launch elevated external programs (Notepad-\>Open, from File dialog you can run external exe as an administrator).  
The modified demo was reloaded to the dropbox.
