Exe jako folder

XI
  • Rejestracja:około 10 lat
  • Ostatnio:około 9 lat
  • Postów:231
0

Jak sprawić by w mojej aplikacji znajdowały się pliki i jak można je potem otworzyć za pomocą innych programów ( najlepiej komendami z cmd ). Na przykład ktoś otwiera mój program a otwiera się notatnik lub przeglądarka fotografii z otwartym plikiem który jest w moim exe. Chciałbym też uwzględnić że ktoś może zmienić nazwę mojemu exe.

PR
  • Rejestracja:około 11 lat
  • Ostatnio:4 miesiące
  • Lokalizacja:Pomorskie (Stare Kabaty)
0
edytowany 3x, ostatnio: Proxima
XI
  • Rejestracja:około 10 lat
  • Ostatnio:około 9 lat
  • Postów:231
0

Nie ogarniam tego. Jak tego użyć ?

PR
  • Rejestracja:około 11 lat
  • Ostatnio:4 miesiące
  • Lokalizacja:Pomorskie (Stare Kabaty)
0

Z tego co zrozumiałem chcesz z programu wywoływać jakieś polecenia cmd.

Kopiuj
system("dir") // wywołuje dir w powłoce systemowej

Wpisujesz w parametrze po prostu to, co chcesz aby zostalo przekazane do konsoli poleceń.

edytowany 3x, ostatnio: Proxima
XI
  • Rejestracja:około 10 lat
  • Ostatnio:około 9 lat
  • Postów:231
0

Tak ale dzięki nim chcę otworzyć mój exe. Po prostu do exe podobno mażna pakować inne pliki. Chciałbym tak zrobić ale też móc otwierać te pliki
za pomocą domyślnego programu. Chcę to zrobić w cmd bo komend cmd mogę używać w wielu językach.

XI
  • Rejestracja:około 10 lat
  • Ostatnio:około 9 lat
  • Postów:231
0

A <ort>załużmy</ort> że może być bez cmd.

edytowany 1x, ostatnio: flowCRANE
ProCasher
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 10 lat
  • Postów:21
0

Czekaj, czyli do exe chcesz wstawić np. obrazek i ten obrazek otworzyć za pomocą zewnętrznego programu?

XI
  • Rejestracja:około 10 lat
  • Ostatnio:około 9 lat
  • Postów:231
0

Tak. Np txt za pomocą notatnika.

XI
  • Rejestracja:około 10 lat
  • Ostatnio:około 9 lat
  • Postów:231
0

Było chyba coś takiego że żeby dostać się do środka to trzeba zrobić z ukośnikiem na początku "/nazwaplkiku.txt" ale jak go otwożyć za pomocą czegoś.

1

Może funkcja WinAPI typu ShellExecute? Więcej na MSDN.

XI
  • Rejestracja:około 10 lat
  • Ostatnio:około 9 lat
  • Postów:231
0

No może być bez cmd byle był folder. Wiem jak korzystać z samego cmd w moim programie ale chodzi mi o to bym jeszcze mugł się dostać do wnętrza mojego exe. O to głównie.

Westen
  • Rejestracja:prawie 11 lat
  • Ostatnio:ponad 5 lat
0

Ty chyba nie rozumiesz jak działa plik exe. To nie jest kontener w którym są dane , które <ort>bez problemowo</ort> można wyciągać. Oczywiście istnieją programy do odzyskiwania zasobów aplikacji ale to się opiera o RE i trzeba na to więcej wiedzy niż same postawy.

Ale jeśli ma ktoś jakiś super pomysł to posłucham.

edytowany 1x, ostatnio: flowCRANE
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 5 godzin
5

Możesz dołączyć plik do exeka jako tzw. zasób (resource), a podczas uruchomienia zapisać plik z zasobu do katalogu tymczasowego (%TEMP%) i odpalić program ze ścieżką do pliku jako parametrem. Potem wypadałoby plik usunąć z tempa.

XI
  • Rejestracja:około 10 lat
  • Ostatnio:około 9 lat
  • Postów:231
0

Ale przecież są programy do wypakowywania plików exe i sam nawet takiego używałem ( 7-ZIP).
A <ort>załużmy</ort> że chcę zrobić coś takiego jak launch4j. Zaraz wam podał link do <ort>wontku</ort> w którym ktoś powiedział że pliki jar można zapakować w exe.

Oto on:
Domyślne ustawienie jara dla *.txt

edytowany 5x, ostatnio: ŁF
Westen
Poczytaj o plikach PE przestań pisać głupoty.
4

no tak - plik .jar jest pakowany tam właśnie jako zasób, potem przy uruchomieniu aplikacja sama z siebie go rozpakowuje i uruchamia wirtualną maszynę javy podając ten plik jako parametr
nie sprawdzałem, ale możliwe że poszli po linii najmniejszego oporu czyli plik jest po prostu wypakowywany do tempa, chociaż możliwe że dzieje się to w pamięci (wyższa szkoła). Tak działają pakery takie jak na przykład upx - binarka jest pakowana jako zasób, a potem wypakowywana bezpośrednio do pamięci po czym tylko leci do niej skok

jako ciekawostkę powiem że w pliku .exe jak i każdym innym faktycznie można ukryć inne pliki jako alternatywne źródła (dotyczy tylko systemu plików NTFS)

załóżmy że masz plik tekstowy a.txt (równie dobrze to może być plik a.exe) oraz zdjęcie a.jpg które chcesz ukryć
w konsoli piszesz:

type a.jpg >a.txt:ukryty.jpg

i oto plik a.jpg zostaje zapisany jako alternatywny strumień w pliku a.txt
można go otworzyć na przykład w paincie poleceniem:

mspaint a.txt:ukryty.jpg

jeżeli ukryłeś plik .exe to możesz go uruchomić poleceniem:

start .\a.txt:ukryty.exe

strumienie będą się kopiować i przenosić razem z plikiem dopóki robisz to między partycjami w systemie plików NTFS
jeżeli spakujesz plik to strumienie nie zostaną zachowane, chyba że w kompresorze zaznaczysz odpowiednią opcję - w WinRarze jest to opcja Save file streams na zakładce Advanced

niestety nie każdy program obsługuje alternatywne strumienie i nie każdy ma partycję w systemie plików NTFS więc rozwiązanie jest mało powszechne

tak naprawdę jedyne realne zastosowanie alternatywnych strumieni to zapisanie w nich informacji przez przeglądarkę że plik został pobrany z Internetu - właśnie dzięki temu system przy próbie otworzenia .exe pobranego z sieci pyta się czy na pewno chcemy to zrobić

Azarien
tak, pomyślałem o tym podczas pisania powyższego posta, ale nie wspomniałem bo to się nie nadaje. zbyt łatwo w niewidoczny sposób stracić tak "przyczepione" dane.
XI
  • Rejestracja:około 10 lat
  • Ostatnio:około 9 lat
  • Postów:231
0

Dzięki. Chyba skorzystam z %TEMP% ale to o ukrywaniu plików też może się przydać.

XI
  • Rejestracja:około 10 lat
  • Ostatnio:około 9 lat
  • Postów:231
0

Ale jak coś skopiować do resources ( na stałe ).

edytowany 2x, ostatnio: Xix
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 5 godzin
0

Jakie IDE i jaki kompilator?

XI
  • Rejestracja:około 10 lat
  • Ostatnio:około 9 lat
  • Postów:231
0

No <ort>morze</ort> Borland.
Chodzi o to by <ort>morzna</ort> było podać jakiś folder i go tam w środku pozostawić.

edytowany 1x, ostatnio: msm
Westen
"morze" - jest głębokie i szerokie
Westen
  • Rejestracja:prawie 11 lat
  • Ostatnio:ponad 5 lat
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)