Тема: Як створити свій cccleaner
Появилась ідея створити свій "ccleaner" (Програма яка очищає комп'ютер від непотрібного хламу).
І не знаю з чого почати, знаю більш менш основи Сі/C++ ООП, трошки C# і трошки java.
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C#, .NET → Як створити свій cccleaner
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Появилась ідея створити свій "ccleaner" (Програма яка очищає комп'ютер від непотрібного хламу).
І не знаю з чого почати, знаю більш менш основи Сі/C++ ООП, трошки C# і трошки java.
очищає комп'ютер від непотрібного хламу
Значить програма буде під вінду. З реєстром вже працювали ? а з WinAPI ?
не знаю з чого почати
Почніть з постановки задачі. Розпишіть (по пунктах) що саме має робити програма.
почни з того, що не треба нічого починати. якщо ти не створюєш щось нове, то те, що ти робиш, нікому не цікаво
почни з того, що не треба нічого починати. якщо ти не створюєш щось нове, то те, що ти робиш, нікому не цікаво
Але якшо ти шось зробиш то чомусь навчишся. І якщо те що ти робиш цікаве тобі то твій проект уже буде мати одного користувача. А якщо те що ти зробиш буде коректно працювати то може когось зацікавити.
Щоб щось запрограмувати, треба знати мову програмування і предметну область.
Я б на вашому місці почав із предметної області, особливо складних дій з мовами вам не знадобиться.
Значить програма буде під вінду. З реєстром вже працювали ? а з WinAPI ?
З WinAPI не працював, з реєстром бавився, видаляв залишки від видалених програм.
Почніть з постановки задачі. Розпишіть (по пунктах) що саме має робити програма.
Програма повинна видаляти файли з папки Temp яка знаходиться С:\Користувачі\user\AppData\Local\Temp.
В цьому файлі дуже багато накопичується хламу, і чомусь ccleaner і в строєний в вінді пограма не видаляють цей весь хлам.
Програма має видаляти залишки файлів програми яких не існує на комп'ютері.
Теж саме що в пункті 2 тільки в реєтрі.
Але чому після видалення програми, вона не видаляє всі свої файли з віндовса?
Хочу цікавеньку історію вам розказати.
Прийшов я до свого друга щоб допомогти установити програму,бо він був неправильно її установив, і після того як він її знов хотів уставити, інсталятор написав, що програма уже установлена. А по факту її немає. Заліз я в реєстр, по видаляв всі залишки від тої програми, і уже нормально установив йому програму.
З WinAPI не працював, з реєстром бавився, видаляв залишки від видалених програм.
Але чому після видалення програми, вона не видаляє всі свої файли з віндовса?
Добре. На шарпах можна обійтись без знання WinAPI. Підключіть в проект Microsoft.Win32.Registry.dll і попробуйте створити і видалити записи в реєстрі.
набагато скоріше переставити вінду, аніж писати такі видалятори. не знаючи предмету, можна таке навидаляти, що потім не відновиш.
Але якшо ти шось зробиш то чомусь навчишся.
Хочеш навчитись чомусь, напиши про це книгу.
набагато скоріше переставити вінду, аніж писати такі видалятори. не знаючи предмету, можна таке навидаляти, що потім не відновиш.
Але якшо ти шось зробиш то чомусь навчишся.
Хочеш навчитись чомусь, напиши про це книгу.
І навчишся писати книги.
Програма повинна видаляти файли з папки Temp яка знаходиться С:\Користувачі\user\AppData\Local\Temp.
Ну от, починається...
У Windows визначена купа стандартних папок. Серед них є TEMP і TMP; адміністратор системи може налаштувати їх деінде (на RAM-диск, наприклад), а усі програми, загалом, мають перед тим, як писати щось тимчасове, запитувати, які папки тимчасові, і писати туди, але деякі програмісти про це не знають, і їхні програми пишуть прямо в цю папку. Таким чином, уже на цьому етапі слід чистити для всіх користувачів
Папку, на яку вказує TEMP
Папку, на яку вказує TMP
С:\Користувачі\user\AppData\Local\Temp
і ще старі програми можуть кидати в %WINDIR%\Temp чи C:\Windows\Temp (ага, без перевірки тієї змінної).
А ще є кеш браузерів.
Але чому після видалення програми, вона не видаляє всі свої файли з віндовса?
Чудове питання. Мабуть, тому ж, чому замість писати в %TEMP%, пишуть в %USERPROFILE%\AppData\Local\Temp. Просто низька кваліфікація.
Є багато причин залишати дані на комп'ютері після деінсталяції. Якщо ви цього не розумієте, не лізьте. Бо ви навіть не уявляєте де і які дані залишилися. Тому ваш "клінер" зробить ще гірше.
Чого нема кнопки дизлайк, я би тут пану шоколаду в кожне повiдомлення залiпив. Ну хоче людина написати, для практики, чим погано?!!
По темi. Знання вiнапi малопотрiбне, хоча писав би на ньому. Чистите папки %TMP%, %TEMP% (див MSDN на тему як iх визначати программно, ExpandEnvStrings чи варiант для вашоi мови програмування), реестр - там важче, якщо запис про программу присутнiй, а программи нема, то видаляти, i т.д.
очистка кошика.
Тому ваш "клінер" зробить ще гірше.
Загалом так. За дії програми на комп'ютері відповідає її розробник. В ідеальному світі замість використовувати стороннє рішення для прибирання краще прочитати мануал і, якщо там немає про ці файли, повідомити розробнику про помилку.
Але в реальному світі, на жаль, багатьом розробникам начхати на такі дрібниці. Повідомлення про помилку, швидше за все, отримає низький пріоритет і ніколи не буде оброблене. Зараз навіть багато розробників не пишуть мануали чи пишуть їх у дуже загальній формі (бо користувачі і навіть інші розробники все одно не читають), чи не підтримують їх в актуальному стані. Такі справи.
За дії програми на комп'ютері відповідає її розробник.
ой, не брешіть хоч ви! чи може ви жодної ліцензійної угоди не читали?
А ви вважаєте, що відповідальність буває лише юридична?
принцип ASIS вам знайомий?
Тобто ви вважаєте, що жодної заслуги Microsoft у розробці Windows немає?
як ви дивно викручуєте. зробили і зробили. хто це цінує?
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися