How can I create Help Documentation for my MFC desktop application? - visual-c++

I am creating an MFC desktop application with Visual Studio 2022 Community edition. I want to include with it some user Help documentation that will be installed with the application (i.e. should be installed locally on user computer and not accessed via the internet).
BUT I cannot see anywhere how to do this or find any tools for creating such help documentation.
Even for help documentation that is accessed via an internet connection I cannot immediately see any tools or utilities with Visual Studio that make this possible?
Are there any third party applications that allow an application developer to create help documentation? Thanks to anyone who can advise.

I use HelpNDoc. With the free edition you can easily build your help documentation in CHM and HTML.
And, for either of these outputs it is quite easy to get the MFC project to display the topic. For example:
void CMeetingScheduleAssistantApp::DisplayHelpTopic(CString strTopic)
{
CString strURL = _T("https://help-msa.publictalksoftware.co.uk/") + strTopic;
if (theApp.UseDownloadedHelpDocumentation())
{
// CHM files use 3 letter suffix
strTopic.Replace(_T(".html"), _T(".htm"));
HtmlHelp(ptr_cast<DWORD_PTR>(strTopic.GetString()), HH_DISPLAY_TOPIC);
}
else
ShellExecute(nullptr, nullptr, strURL, nullptr, nullptr, SW_SHOWDEFAULT);
}
In your case I would compile as CHM as that can be installed on the target computer. But you could also build PDF, DOCX and / or other formats.
There are other applications that build CHM files (like HTML Help Workshop) but it is less fiddly with HelpNDoc as all help data is managed in one place.
Microsoft HTML Help Downloads
Microsoft HTML Help Workshop

Related

Add push notifications to an MFC project packaged with the desktop-bridge

I have a traditional Win32 desktop app written in C++/MFC that I have packaged as a UWP app for the Microsoft store using the desktop-bridge facility in Visual Studio 2019. The VS solution thus contains 2 relevant projects - the main program, which is a standard MFC desktop program, and the Package project. The bundle produced by the packager works and is currently published on the store.
For the next update I would like to enable the user to receive notification messages (toast?) that I send from the Microsoft Partner Center. I want to notify users when another update is available, and also when new data files are available (from my website) for use within the program.
I have read a lot of MS documentation about how to code for push notifications, but it all seem to refer to native UWP applications. I have come across this blog which contains a working sample of an MFC program receiving notifications, but to be honest it does not really explain how it works, nor does it explain how to retrofit the facility to an existing program.
Can anyone explain (or point to a resource/sample explaining) how to add this facility to an existing MFC program such as mine?
Any help would be much appreciated.

PProPanel JSX - Basic guide to get started?

I know you can extend Adobe Premiere Pro with some simple JavaScript. The problem with that link (which I got to through the official Adobe website), is that all of sample code links are outdated (they point to the wrong location of the file, to lines that aren't correct anymore).
The second paragraph instructs you to install a bunch of things, none of which seem like things you "install", and they mention ExtendScript, which I don't understand whether is already installed with my Premiere or not (it's not available on Creative Cloud, and also the links I found on Adobe's website for it are, again, dead). I keep searching online and finding dead links to tutorials that no longer exist. Really, dead links everywhere.
I'm an experienced developer with good JS background, I just want know what I need, some simple examples of basic usage to get me started and maybe working links to some cheat-sheet I can use when I'm looking for available functions.
Extendscript is the name of the old API for automating Premiere and other Adobe apps. It's built-in and can basically do anything that you can do with the GUI, and it's javascript-based.
There is an IDE for Extendscript, the Extendscript Toolkit (ESTK) which has a debugger and allows you to inspect data etc. It's perplexingly hard to find on the Adobe website; I found it by a duckduckgo search here, I installed it through the creative cloud desktop manager, though I'm not sure how you do that with the current version.
As far as documentation goes, you're right, it's dead link city. There is a Javascript Tools Guide included with the Extendscript Toolkit, on windows it's in C:\Program Files (x86)\Adobe\Adobe ExtendScript Toolkit CC\SDK\. That covers creating UI elements, but doesn't explain Premiere's object model. AFAIK there is no official documentation for this, you have to use the ESTK data browser to look for yourself.
The CEP extensions are a new development and allow for easier integration with the host. I think you already have all the documentation there is for it. I'd advise that you pester Adobe to make it easier for developers like yourself to create tools for their users.
Here is for anyone else who gets here from a Google search: You can also go to this link to download the ESTK: https://helpx.adobe.com/download-install/kb/creative-cloud-apps-download.html

how to start using the framework foundation for sites and deploy the first project

I want start using the framework foundation for sites but after reading the DOCS (http://foundation.zurb.com/sites/docs/installation.html) I got confused:
Why I should use a package manager to download a bunch of html, css and javascript file?
Or is there something else in the pile?
I'm working on windows and I know what are more or less html, css and javascript, but I'm new to frontend framework.
Thanks for your attention.
Download foundation first here complete-f6.zip. Then use foundation.min.css and foundation.min.js (of course include jquery.js) on your page and you're free to use whatever is in the foundation docs.
Since you're new, I would recommend using Yeti Launch. Yeti Launch allows you to create a Foundation 6 project with a Basic or Advanced template. The templates use a package manager with everything wired up for you.
With Yeti Launch you get the benefits of a build system (browser reloading, page templates, minification/concatenation, include only the components you use, autoprefixes, etc.) and you don't have to use the command line if you're not comfortable with it.

Barcode Reader Code in C#

Objective...
I want to add the ability for our condo association to scan bar codes on (UPS, USPS, FedEX, etc) packages as they arrive and post the information to SQL server for later use.
The code could be desktop or web based, but preferably as c# code - .Net 4.5 is Ok. Any suggestions as to hand scanners also appreciated.
Can anyone suggest a starting point?
Thanks in advance for any help/guidance.
You can use pqScan Barcode reader, it can be used in .net 2.0+, so you can build winforms and asp.net web application with it.

Using ActiveX objects in Javascript in Linux (in Firefox)

It's not quite a "programming" question, but I hope its related closely enough.
Do you know if it is possible to configure the browser in Linux (e.g. Firefox) to use Wine to create ActiveX objects? I would like to handle web pages that use:
var xmlDocument = new ActiveXObject( Msxml2.DOMDocument.4.0 )
etc. in Javascript.
I think you can only do that in Internet Explorer on Wine
ActiveXObject is part of the Windows Script host, and not available in Linux unless you can use Wine to install it.
As a side issue, the actual ActiveXObject is an instance of a windows application, and not generally available in Linux (especially not the MS Office suite).
Links:
Windows Scripting Host
Wine
Edit: Had Wine confused with Mono. Fixed now.
If you just want an xml document you can do that via standard javascript. Their is no need for ActiveX. Simply ask the document to parse the xml for you. Have a look on Mozilla Developers Centre. They have very good JS docs.
On another note, if you want cross browser web pages steer clear of ActiveX. Especailly with all its security holes.
you can see flash in firefox of linux. try used flash.

Resources