Burn - Show a custom screen along with application window - c#

I have added the source code for wix theme and customized the default one with what i required.
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
<bal:WixStandardBootstrapperApplication LicenseUrl="" ThemeFile="HyperlinkTheme.xml" LocalizationFile="HyperlinkTheme.wxl" LogoFile="header3.jpg"/>
</BootstrapperApplicationRef>
Now when i click the installer, the installer main window opens with Install and Cancel button.I need to show a custom screen with product name and version and OK button before this screen loads.On clicking OK should close this custom screen and open the main installer screen.
I googled and found that if i am not using any default screen i can customize the screen.Since i am using default installer screen i don't know how to do this and how it works.Need some idea to do this in Burn/Bundle.wxs.

WixStandardBootstrapperApplication does not support this today. The logic behind navigating between pages is hard coded.

Related

How can I flash the tab of a hidden DockableWindow inside Arcmap

I have an ESRI Add-In for ArcGIS for Desktop (10.2.1) written in C# with ArcObjects SDK.
The Add-In includes a DockableWindow. When this DockableWindow is hidden, I would like to be able to flash the DockableWindow's tab inside of Arcmap.exe (NOT the icon for the whole app on the taskbar).
I have not yet found a solution that works. Does anyone have any ideas how to do this? Thanks.
I've already tried flashing via FlashWindowEx, which only succeeds in flashing the icon on the task tray. Passing in the hwnd for the tab inside of Arcmap does not work to flash the tab. In fact I tried EVERY child hwnd for the entire app with no success.
If I had the code for the tab, I would just make it change colors myself, but the tab is auto generated by arcmap.exe when my window is set to auto hide.

How to develop a shell ext. that adds a new button in a Explorer window? using SharpShell

Scenario
My current O.S. is Windows 8.1 x64, with plans to updgrade to Windows 10 x64 in the near future.
I frequently need to toggle between to show hidden files in explorer.
To solve this, I added a simple contextmenu item via registry, then when I do right click on the background of a folder I have my item that tooggles the hidden files visibility of Explorer.
Problem
Now I would like to make this functionality more accesible to avoid the need of that extra click to open the contextmenu. I would like to integrate the functionality as a shell extension to add a button near the default buttons that are at the bottom-right corner of each Explorer window:
Question
In C# or preferably VB.Net, and preferably using SharpShell library, how can I create a simple shell extension that adds a button with icon there?.
Note that when the button is clicked I need to have some kind of reference to identify the current Window on where I clicked the button.
Research
I've read all the official articles for beginners in this url below, however I didn't found any that talks about integrating an "addon" in Explorer (only about info tips).
Sharpshell - CodeProject
I know the existance of some expecific applications such as QTTabBar that adds functionalities in explorer such as menus and buttons via shell extension, It has a C# source code here and I'd anaylez it but it's a very huge VS solution and my main language is VB.Net, it's very unclear for me what the author do in the source code to add "addons" in the Explorer.
EDIT
AWM (Actual Window Manager) example of its Explorer integration:
QTTabBar's Explorer integration:

How to change or remove splash screen in windows 8.1?

I am working on windows 8.1 app and I found that it contains default splash screen which we can't remove. Is there a way we can remove it something similar to windows phone 8. I want a splash screen which loads until a particular process is completed (example zip extraction,editing resources etc). I also did some research and found that Extended Splash Screen will help but if I add a progress ring, people using the app will know the difference that there are two screens. Please anyone suggest what will be the best approach?
You need to go to the Package.manifest, through Visual Studio, and change the splash screen value. Here is a link to the Xaml version and the steps:
Open your app in Visual Studio 2013.
From Solution Explorer, open the "Package.appxmanifest".
Open the Visual Assets tab, select Splash Screen and you'll see the "Assets\SplashScreen.png" path in the Splash Screen field which you can change to whatever you want.
Then you can use the Extend Splash Screen functionality to continue the screen until your app is ready.
The splash screen is an image in the root folder of the project. you can edit it in any image editor.
While you cannot remove the splashscreen, one option is to use a screen shot of your main page as a splashscreen, this way giving the impression that the app starts quickly.
In your Visual Studio Solution, Right click "package.phone.appxmanifest" --> View Code and comment this line: <m3:SplashScreen Image="images\SplashScreenPhone.png" /> . And the default splashscreen in windows app will be removed. Note: Manifest file name might defer for phone and windows app.

How to Detect Right Click on the Taskbar

I've got a Windows Forms application in C# that starts off with a loading dialog. As expected, a button for the app shows up in the Windows taskbar.
I would like to detect right-clicks that might be done to that button.
Ultimately, I hope to disable the right-click or simply have the loading dialog regain focus. I've seen that some people use custom libraries and packages (interop, for example) to achieve some Win32 functionality, but I'd personally like to avoid this. Is it impossible to do without such libraries/packages?
How about just not showing the form in the taskbar by setting Form.ShowInTaskbar to false?

Embedding Video in a WinForms app

I need to be able to embed and control the playback of an AVI file in a WinForms app, using C#. The video needs to be embedded in the form, not launched in a separate media player window.
What's the best approach to do this? I found the System.Media namespace, which sounded promising, but it appears that is only useful for sound.
Do I use DirectX to do this? MCI? Or some other approach?
You can use Media Player inside your Winform. This would been an easy way to do it.
The way i did it was, and I quote:
Right-click the Toolbox, and click Choose Items.
Note: If you do not see the Toolbox, click Toolbox on the View menu to
open it. The Customize Toolbox Items dialog box opens.
On the COM Components tab, select the Windows Media Player check box,
and then click OK.
The Windows Media Player control appears on the current Toolbox tab.
When you add the Windows Media Player control to the Toolbox, Visual
Studio automatically adds references to two libraries: AxWMPLib and
WMPLib. The next step is to add the control to the Windows Form.
To add the Windows Media Player control to a Windows Form
Drag the Windows Media Player control from the Toolbox to the Windows
Form.
In the Properties window, set the Dock property to Fill. You can do
this by clicking the center square.
Double-click the title bar of the form to add the default Load event
in the Code Editor.
Add the following code to the Form_Load event handler to load a video
when the application opens.
axWindowsMediaPlayer1.URL =
#"http://go.microsoft.com/fwlink/?LinkId=95772";
http://msdn.microsoft.com/en-us/library/bb383953(v=vs.90).aspx
I highly recommend this library:
http://directshownet.sourceforge.net/
It is a .NET wrapper around the DirectShow API.
(The sample apps should get you going very quickly.)
--Bruce
The suggestions from Daok and Brian Genisio are both good options. Let me add a third: DirectShow. Used to be part of DirectX but has now been promoted to the Windows SDK. There are many good C# sample applications to look at, and it gives complete control of the playback.
I would consider using the WPF media controls and just use the ElementHost to put your WPF control inside your WinForms app. I think you will get a much more rich experience.
See System.Windows.Forms.Integration for more information

Categories