Skip to content

Commit

Permalink
Add a minimal launcher for novelWriter on Windows
Browse files Browse the repository at this point in the history
  • Loading branch information
vkbo committed Jan 18, 2025
1 parent f548df2 commit 296b18b
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 0 deletions.
5 changes: 5 additions & 0 deletions launcher/windows/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
cmake_minimum_required(VERSION 3.14)

project(novelWriter LANGUAGES CXX)

add_executable(novelWriter main.cpp launcher.rc)
1 change: 1 addition & 0 deletions launcher/windows/launcher.rc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
IDI_ICON1 ICON DISCARDABLE "novelwriter.ico"
30 changes: 30 additions & 0 deletions launcher/windows/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
#include <iostream>

void _tmain( int argc, TCHAR *argv[] ) {
STARTUPINFO si;
PROCESS_INFORMATION pi;

ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));

TCHAR fileName[MAX_PATH];
auto pathlen = GetModuleFileName(NULL, fileName, MAX_PATH);
fileName[pathlen - 15] = 0;
SetCurrentDirectory(fileName);
std::cout << "WorkDir: " << fileName << std::endl;

TCHAR cmd[MAX_PATH] = "pythonw.exe novelWriter.pyw";
if (argc > 1) {
_tcscat_s(cmd, TEXT(" "));
_tcscat_s(cmd, argv[1]);
}
std::cout << "Command: " << cmd << std::endl;

CreateProcess(NULL, cmd, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);

return;
}
Binary file added launcher/windows/novelwriter.ico
Binary file not shown.

0 comments on commit 296b18b

Please sign in to comment.