IntelliLink

IntelliLink
IntelliLink

Introduction

IntelliLink is a free (as in “free speech” and also as in “free beer”) online link manager. Running in the Microsoft Windows environment, its use is governed by GNU General Public License v3.0. IntelliLink is written in C++ and uses pure Win32 API and STL which ensures a higher execution speed and smaller program size. By optimizing as many routines as possible without losing user friendliness, IntelliLink is trying to reduce the world carbon dioxide emissions. When using less CPU power, the PC can throttle down and reduce power consumption, resulting in a greener environment. I hope you enjoy IntelliLink as much as I enjoy coding it!

Getting started

Install IntelliLink using the installer

  • Download the installer
  • Run the executable binary and follow the installation flow

The installer will likely require Administrative privileges in order to install IntelliLink (and later, to update IntelliLink or install or update plugins, or anything else that requires writing to the installation directory). If you do not have Administrative privileges, you either need to tell the installer to use a location where you do have write permission (though that may still ask for Administrator privileges), or you may choose not use the installer and instead run a portable edition from a directory where you have write permission.

Install IntelliLink from zip

These instructions will allow you to run a portable or mini-portable (also called “minimalist”), without requiring administrative privileges.

  • Create a new folder somewhere that you have write-permission
  • Unzip the content into the new folder
  • Run IntelliLink from the new folder

The portable zip edition of IntelliLink can be removed by deleting the directory they came in. If you manually set up file associations or context-menu entries in the OS, it is your responsibility to remove them yourself.

Application’s menu

The IntelliLink menu features the application’s most important functions:

  • Refresh: Refreshes the status of all hyperlinks.
  • Add IntelliLink: Adds a new hyperlink to the list.
  • Modify IntelliLink: Modifies the selected hyperlink from the list.
  • Delete IntelliLink: Deletes the selected hyperlink from the list.
  • Website Review: Opens https://www.website-review.ro/ in your web browser.
  • Webmaster Tools: Opens https://www.webmaster-tools.ro/ in your web browser.

Create and Submit your Pull Request

As noted in the Contributing Rules for IntelliLink, all Pull Requests need to be attached to a issue on GitHub. So the first step is to create an issue which requests that the functionality be improved (if it was already there) or added (if it was not yet there); in your issue, be sure to explain that you have the functionality definition ready, and will be submitting a Pull Request. The second step is to use the GitHub interface to create the Pull Request from your fork into the main repository. The final step is to wait for and respond to feedback from the developers as needed, until such time as your PR is accepted or rejected.

Software Content Register

Release Name: IntelliLink
Description: IntelliLink is an alternative Windows version to Online Link Managers!
Outgoing License: GNU General Public License v3.0
Type of content: static/dynamic libraries, source code, binary
Release location: https://www.codeproject.com/Tips/839851/IntelliLink-An-Alternative-Windows-Version-to-Onli

genUp4win
Desciption: This library is a generic updater for Windows.
Version: 2.03
Home Page: https://github.com/mihaimoga/genUp4win
License: MIT
Format: source code, binary

CHLinkCtrl
Description: This class allows you to create a static control on a window or dialog which behaves similar to a hyperlink as seen on a web page. When the mouse moves over the text the cursor becomes a hand and when you click on the text the hyperlink is executed.
Version: 1.43
Home Page: https://www.naughter.com/hlinkctrl.html
License: Custom (PJ Naughter’s license)
Format: source code, binary

CInstanceChecker
Description: This class implements single instance apps. Limiting your app to single instance is more tricky in Win32 with the removal of the hPrevInstance parameter from WinMain and the introduction of separate address spaces.
Version: 1.25
Home Page: https://www.naughter.com/sinstance.html
License: Custom (PJ Naughter’s license)
Format: source code, binary

TinyXML2
Description: TinyXML2 is a simple, small, efficient, C++ XML parser that can be easily integrated into other programs.
Version: 10.0.0
Home Page: https://github.com/leethomason/tinyxml2
License: Zlib
Format: source code, binary

CTrayNotifyIcon
Description: This class encapsulates the Shell_NotifyIcon SDK call. This API is used to create those nifty little icons such as volume control you see in the tray notification area on Windows.
Version: 1.77
Home Page: https://www.naughter.com/ntray.html
License: Custom (PJ Naughter’s license)
Format: source code, binary

CVersionInfo
Description: This simple little class encapsulates the SDK calls which access version info from Win32 files. Most executables and DLL’s have a VS_VERSION_INFO resource associated with them and this class provides a simple C++ class to programmatically access this information.
Version: 1.13
Home Page: https://www.naughter.com/versioninfo.html
License: Custom (PJ Naughter’s license)
Format: source code, binary

PJ Naughter’s license: You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) when your product is released in binary form. You are allowed to modify the source code in any way you want except you cannot modify the copyright details at the top of each module. If you want to distribute source code with your application, then you are only allowed to distribute versions released by the author. This is to maintain a single distribution point for the source code.

History

  • Version 1.04 (November 9th, 2014): Initial release.
  • Moved source code from CodeProject to GitLab (April 10th, 2020).
  • Moved source code from GitLab to GitHub (February 23rd, 2022).
  • Version 1.05 (April 28th, 2022): Added setup project.
  • Version 1.06 (May 23rd, 2022): Added program to Startup Apps.
  • Version 1.07 (August 20th, 2022): Updated font size of About dialog.
  • Version 1.08 (August 26th, 2022): Removed program from Startup Apps.
  • Version 1.09 (September 9th, 2022): Added Contributors hyperlink to AboutBox dialog.
  • Version 1.10 (January 23rd, 2023): Updated PJ Naughter’s CVersionInfo library to the latest version available. Updated the code to use C++ uniform initialization for all variable declarations.
  • Version 1.11 (January 24rd, 2023): Updated PJ Naughter’s CInstanceChecker library to the latest version available. Updated the code to use C++ uniform initialization for all variable declarations.
  • Replaced NULL throughout the codebase with nullptr.
    Replaced BOOL throughout the codebase with bool.
    This means that the minimum requirement for the application is now Microsoft Visual C++ 2010.
  • Version 1.12 (May 27th, 2023): Updated About dialog with GPLv3 notice.
  • Version 1.13 (June 16th, 2023): Made persistent the length of columns from interface.
  • Version 1.14 (June 24th, 2023): Updated PJ Naughter’s CTrayNotifyIcon library to the latest version available.
  • Version 1.15 (July 20th, 2023): Extended application’s functionality with 2 new buttons: Website Review and Webmaster Tools.
  • Version 1.16 (August 20th, 2023):
    • Changed article’s download link. Updated the About dialog (email & website);
    • Added social media links: Twitter, LinkedIn, Facebook, and Instagram;
    • Added shortcuts to GitHub repository’s Issues, Discussions, and Wiki.
  • Version 1.17 (October 29th, 2023): Updated PJ Naughter’s CTrayNotifyIcon library to the latest version available. Fixed an issue where the CTrayNotifyIcon::OnTrayNotification callback method would not work correctly if the m_NotifyIconData.uTimeout member variable gets updated during runtime of client applications. This can occur when you call CTrayNotifyIcon::SetBalloonDetails. Thanks to Maisala Tuomo for reporting this bug.
  • Version 1.18 (January 27th, 2024): Added ReleaseNotes.html and SoftwareContentRegister.html to GitHub repo.
  • Version 1.19 (February 21st, 2024): Switched MFC application’ theme back to native Windows.
  • Version 1.20 (September 6th, 2024):
    • Replaced old XML library from CodeProject with Lee Thomason’s TinyXML2 library.
    • Implemented User Manual option into Help menu.
    • Implemented Check for updates… option into Help menu.
  • Version 1.21 (September 20th, 2024): Fixed loading/saving of XML configuration file.