Skip to content

Instantly share code, notes, and snippets.

View Far-Se's full-sized avatar
🦝

Far Se Far-Se

🦝
  • Iasi
View GitHub Profile
@Far-Se
Far-Se / icontopng.cpp
Last active July 19, 2022 06:17
Winapi Convert icon to png with transparency. Extract hicon from dll and store it as uint8 including hbmColor and hbmMask
#include <Windows.h>
#include <shellapi.h>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
HICON getIconFromFile(wstring file, int index = 0)
{
HICON hIcon;
LPWSTR filePath = const_cast<LPTSTR>(file.c_str());
@Far-Se
Far-Se / winIconsPowerShell.dart
Created July 17, 2022 06:31
Extract Icons using PowerShell
class Globals {
static String iconCachePath = "${Directory.current.path}\\cache";
}
class WinUtils {
static Future<List<String>> runPowerShell(List<String> commands) async {
final io.ProcessResult result = await io.Process.run(
'powershell',
<String>['-NoProfile', ...commands],
);
else if (method_name.compare("iconToBytes") == 0)
{
const flutter::EncodableMap &args = std::get<flutter::EncodableMap>(*method_call.arguments());
std::string iconLocation = std::get<std::string>(args.at(flutter::EncodableValue("iconLocation")));
int iconID = std::get<int>(args.at(flutter::EncodableValue("iconID")));
std::wstring iconLocationW = Encoding::Utf8ToWide(iconLocation);
HICON icon = getIconFromFile((LPWSTR)iconLocationW.c_str(), iconID);
std::vector<CHAR> buff;
@Far-Se
Far-Se / getWindowIcon.dart
Created June 29, 2022 05:01
getWindowIcon
static Uint8List getWindowIcon(hWnd, {background = 0xffffff, hover = false}) {
var icon = SendMessage(hWnd, WM_GETICON, 2, 0); // ICON_SMALL2 - User Made Apps
if (icon == 0) icon = GetClassLongPtr(hWnd, -14); // GCLP_HICON - Microsoft Win Apps
//final xIcon = icon;
final piconinfo = calloc<ICONINFO>();
GetIconInfo(icon, piconinfo);
final hICON = calloc<BITMAP>();
#include <Windows.h>
#include <stdio.h>
#include <iostream>
void SetTransparent(HWND target_window, bool type)
{
DWORD exstyle;
typedef BOOL(WINAPI* MySetLayeredWindowAttributesType)(HWND, COLORREF, BYTE, DWORD);
static MySetLayeredWindowAttributesType MySetLayeredWindowAttributes = (MySetLayeredWindowAttributesType)
GetProcAddress(GetModuleHandle(L"user32"), "SetLayeredWindowAttributes");
@Far-Se
Far-Se / example.dart
Last active July 1, 2022 10:34
Flutter Windows Send Keys or send input.
WinKeys.send("{#CTRL}{#SHIFT}{ESCAPE}");
WinKeys.send("{#WIN}R{|}cmd{ENTER}");
@Far-Se
Far-Se / README.md
Last active June 18, 2022 05:42
Visual Studio Code Lite - Open a file in a separate user-profile & extension-list Vs Code

Usually when I open random files I open them with Notepad++ because I do not want to open VsCode with all installed extensions, first seconds usually lags few times.

So I come up with idea to make a separate profile for random files, then make a Shell Registry Key to open any file with it:

image

  1. Go to C:\ProgramData\ and create a folder VSCodeLite
  2. Create a icon, for example use this icon then convert with this tool
  3. Put the file in folder from 1 and name is vscodegreen.ico
  4. Create a file VSCodeLite.reg and add code below. Change {{YOURUSERNAME}} to your username.
@Far-Se
Far-Se / photopea.user.js
Last active June 4, 2022 10:24
Photopea full width no ads no sidebar. Tampermonkey script for photopea sidebar with full width.
// ==UserScript==
// @name Photopea Full Width
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://www.photopea.com/
// @icon https://icons.duckduckgo.com/ip2/photopea.com.ico
// @grant none
// @run-at document-end
@Far-Se
Far-Se / commands.json
Last active May 28, 2022 14:53
Windows Powertoys Run Shortcuts Alias Plugin
{
"edit": "notepad .\\commands.json",
"win32": "start https://pub.dev/documentation/win32/latest/",
"n": "Send {Media_Next}",
"pr": "Send {Media_Prev}",
"p": "Send {Media_Play_Pause}",
"g": "start \"https://github.com/search?q={argsURI}\""
}
@Far-Se
Far-Se / twitch.script.js
Created May 13, 2022 18:25
Twitch enhancer
// ==UserScript==
// @name Twitch Script
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match *.twitch.tv/*
// @match twitch.tv/*
// @match https://twitch.tv/*
// @icon https://t1.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=http://twitch.tv